site_prism 3.3 → 3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 21261a1fb826c5500f7bc30e44729cb733b2f75b1ea7d3d5243400d9d29e8b2c
4
- data.tar.gz: e50ab9e1b7d6c0e651d15aa6888828b789f38b7aed80511caa96d50dc767dcda
3
+ metadata.gz: c80d215b3527e90d15660f863dcb13b251e10f465dfc0ef47c344ebf6ea4b54b
4
+ data.tar.gz: 04cf863dcd21233726aea475e4eefc676c7d387717c29e9dda68ede2113b7319
5
5
  SHA512:
6
- metadata.gz: 423f9ffb5d2b26f9619f81414074ab1006b72d7ac8516a355f6d4ffc3959aadb56bacda3a25f06c4bff8e4898609d6c5540e9e9856b3f53d613c5ec9e819125e
7
- data.tar.gz: 1541d15de381f59d4b75c46ae322e26e3e89ccc80549f7b11d55fa05cd32ccd314ca41f67724d310d56ce48d87c6aec3cfe4a1275a1295279ec6de6ef1cb48b2
6
+ metadata.gz: 9a53a48fd0f06f6ee754b9d78e27251a9768c9e227c6970807c85aefbc4e3a1f2d36fe90baa4d01867cef1f7a446ccc7d97177865a5e5da4760a5d75428338fe
7
+ data.tar.gz: 9c88141815dfc9b5e3299efa204d9bead7ecf89c91a58a66fdacc3544abca17afd65c265a8d0a484d4d90122835317449cd8d9bf875b594085244449989dfc73
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # SitePrism
2
2
  [![Gem Version](https://badge.fury.io/rb/site_prism.svg)](https://badge.fury.io/rb/site_prism)
3
- [![Build Status](https://travis-ci.org/natritmeyer/site_prism.png)](https://travis-ci.org/natritmeyer/site_prism)
3
+ [![Build Status](https://travis-ci.com/site-prism/site_prism.png)](https://travis-ci.com/site-prism/site_prism)
4
4
 
5
5
  _A Page Object Model DSL for Capybara_
6
6
 
@@ -9,7 +9,7 @@ for use with Capybara in automated acceptance testing.
9
9
 
10
10
  Find the pretty documentation here: http://rdoc.info/gems/site_prism/frames
11
11
 
12
- Make sure to add your project/company to https://github.com/natritmeyer/site_prism/wiki/Who-is-using-SitePrism
12
+ Make sure to add your project/company to https://github.com/site-prism/site_prism/wiki/Who-is-using-SitePrism
13
13
 
14
14
  ## Developing / Contributing to SitePrism
15
15
 
@@ -42,14 +42,14 @@ class Home < SitePrism::Page
42
42
  element :search_field, 'input[name="q"]'
43
43
  element :search_button, 'button[name="btnK"]'
44
44
  elements :footer_links, '#footer a'
45
- section :menu, MenuSection, '#gbx3'
45
+ section :menu, Menu, '#gbx3'
46
46
  end
47
47
 
48
48
  class SearchResults < SitePrism::Page
49
49
  set_url_matcher(/google.com\/results\?.*/)
50
50
 
51
- section :menu, MenuSection, '#gbx3'
52
- sections :search_results, SearchResultSection, '#results li'
51
+ section :menu, Menu, '#gbx3'
52
+ sections :search_results, SearchResults, '#results li'
53
53
 
54
54
  def search_result_links
55
55
  search_results.map { |result| result.title['href'] }
@@ -58,13 +58,13 @@ end
58
58
 
59
59
  # define sections used on multiple pages or multiple times on one page
60
60
 
61
- class MenuSection < SitePrism::Section
61
+ class Menu < SitePrism::Section
62
62
  element :search, 'a.search'
63
63
  element :images, 'a.image-search'
64
64
  element :maps, 'a.map-search'
65
65
  end
66
66
 
67
- class SearchResultSection < SitePrism::Section
67
+ class SearchResults < SitePrism::Section
68
68
  element :title, 'a.title'
69
69
  element :blurb, 'span.result-description'
70
70
  end
@@ -126,6 +126,20 @@ require 'selenium-webdriver'
126
126
  require 'site_prism'
127
127
  ```
128
128
 
129
+ The driver creation is identical to how you would normally create a Capybara driver,
130
+ a sample Selenium one could look something like this...
131
+
132
+ ```ruby
133
+ Capybara.register_driver :site_prism do |app|
134
+ browser = ENV.fetch('browser', 'firefox').to_sym
135
+ Capybara::Selenium::Driver.new(app, browser: browser, desired_capabilities: capabilities)
136
+ end
137
+
138
+ Capybara.configure do |config|
139
+ config.default_driver = :site_prism
140
+ end
141
+ ```
142
+
129
143
  ### Using SitePrism with RSpec
130
144
 
131
145
  If you're using rspec instead, here's what needs requiring:
@@ -137,6 +151,8 @@ require 'selenium-webdriver'
137
151
  require 'site_prism'
138
152
  ```
139
153
 
154
+ And again, as above, a sample driver is no different to a normal driver instantiation in Capybara.
155
+
140
156
  ## Introduction to the Page Object Model
141
157
 
142
158
  The Page Object Model is a test automation pattern that aims to create
@@ -158,7 +174,7 @@ multiple pages, or many times on a page using the concept of sections.
158
174
  As you might be able to guess from the name, pages are fairly central to
159
175
  the Page Object Model. Here's how SitePrism models them:
160
176
 
161
- ### Creating a Page Model
177
+ ### Creating your first Page using the Page Object Model
162
178
 
163
179
  The simplest page is one that has nothing defined in it. Here's an
164
180
  example of how to begin modelling a home page:
@@ -168,7 +184,7 @@ class Home < SitePrism::Page
168
184
  end
169
185
  ```
170
186
 
171
- The above has nothing useful defined, only the name.
187
+ The above has nothing useful defined, so to start with lets give it some properties.
172
188
 
173
189
  ### Adding a URL
174
190
 
@@ -177,7 +193,7 @@ you'll need to set its URL. Here's how:
177
193
 
178
194
  ```ruby
179
195
  class Home < SitePrism::Page
180
- set_url 'http://www.google.com'
196
+ set_url 'http://www.mysite.com/home.htm'
181
197
  end
182
198
  ```
183
199
 
@@ -332,7 +348,7 @@ end
332
348
  SitePrism's `#displayed?` predicate method allows for semantic code in your tests:
333
349
 
334
350
  ```ruby
335
- Then /^the account page is displayed$/ do
351
+ Then(/^the account page is displayed$/) do
336
352
  expect(@account_page).to be_displayed
337
353
  expect(@some_other_page).not_to be_displayed
338
354
  end
@@ -431,7 +447,7 @@ end
431
447
  #### Testing for the existence of the element
432
448
 
433
449
  Another method added to the Page class by the `element` method is the
434
- `has_<element name>?` method. Using the same example as above:
450
+ `has_<element_name>?` method. Using the same example as above:
435
451
 
436
452
  ```ruby
437
453
  class Home < SitePrism::Page
@@ -452,7 +468,7 @@ end
452
468
  ...which makes for nice test code:
453
469
 
454
470
  ```ruby
455
- Then /^the search field exists$/ do
471
+ Then(/^the search field exists$/) do
456
472
  expect(@home).to have_search_field
457
473
  end
458
474
  ```
@@ -472,7 +488,7 @@ that should be used to test for non-existence. Using the above example:
472
488
  ...which makes for nice test code:
473
489
 
474
490
  ```ruby
475
- Then /^the search field exists$/ do
491
+ Then(/^the search field exists$/)do
476
492
  expect(@home).to have_no_search_field #NB: NOT => expect(@home).not_to have_search_field
477
493
  end
478
494
  ```
@@ -619,7 +635,7 @@ Then the following method is available:
619
635
  This in turn allows the following nice test code
620
636
 
621
637
  ```ruby
622
- Then /^there should be some names listed on the page$/ do
638
+ Then(/^there should be some names listed on the page$/) do
623
639
  expect(@friends_page).to have_names #=> This only passes if there is at least one `name`
624
640
  end
625
641
  ```
@@ -660,7 +676,7 @@ are present in the browser and `false` if they're not all there.
660
676
 
661
677
  # and...
662
678
 
663
- Then /^the friends page contains all the expected elements$/ do
679
+ Then(/^the friends page contains all the expected elements$/) do
664
680
  expect(@friends_page).to be_all_there
665
681
  end
666
682
  ```
@@ -695,6 +711,28 @@ end
695
711
  @test_page.elements_present #=> [:address_field]
696
712
  ```
697
713
 
714
+ If you are specifying a highly nested set of sections inside a Page and need to recurse
715
+ through them to find out if all of your items are present then you can also do this.
716
+
717
+ Simply pass a recursion parameter to the `#all_there?` check. Note that the only valid values
718
+ for this at the moment are `:none` and `:one`
719
+
720
+ Passing `:none` in (default), will not change the functionality. However passing in `:one` will cause
721
+ site_prism to recurse through all section / sections items defined in your current scope.
722
+
723
+ Work alongside developing this functionality further is being continued in the
724
+ [site_prism-all_there](http://www.github.com/site-prism/site_prism-all_there) repo. So head on over
725
+ there if you're interested in how this feature will work going forwards
726
+
727
+ NB: At the moment a "primitive" but working copy of this is hosted inside this gem. But if you wish to
728
+ use the bleeding edge version of the logic. Then simply set the following configuration parameter
729
+
730
+ ```rb
731
+ SitePrism.use_all_there_gem = true
732
+ ```
733
+
734
+ Make sure as well to require the gem code by doing `require 'site_prism/all_there'`
735
+
698
736
  ## Sections
699
737
 
700
738
  SitePrism allows you to model sections of a page that appear on multiple
@@ -750,7 +788,7 @@ class People < SitePrism::Section
750
788
  element :footer, 'h4'
751
789
  end
752
790
 
753
- class HomePage < SitePrism::Page
791
+ class Home < SitePrism::Page
754
792
  # section people_with_block will have `headline` and
755
793
  # `footer` elements in it
756
794
  section :people_with_block, People do
@@ -870,7 +908,7 @@ end
870
908
  This then leads to some pretty test code ...
871
909
 
872
910
  ```ruby
873
- Then /^the home page menu contains a link to the various search functions$/ do
911
+ Then(/^the home page menu contains a link to the various search functions$/) do
874
912
  expect(@home.menu).to have_search
875
913
  expect(@home.menu.search['href']).to include('google.com')
876
914
  expect(@home.menu).to have_images
@@ -886,7 +924,7 @@ particularly with nested sections. Some of this test code can be
886
924
  made a little prettier by simply passing a block in.
887
925
 
888
926
  ```ruby
889
- Then /^the home page menu contains a link to the various search functions$/ do
927
+ Then(/^the home page menu contains a link to the various search functions$/) do
890
928
  @home.menu do |menu|
891
929
  expect(menu).to have_search
892
930
  expect(menu.search['href']).to include('google.com')
@@ -902,27 +940,27 @@ It is possible to ask a section for its parent (page, or section if this
902
940
  section is a subsection). For example, given the following setup:
903
941
 
904
942
  ```ruby
905
- class MySubSection < SitePrism::Section
906
- element :some_element, 'abc'
943
+ class DestinationFilters < SitePrism::Section
944
+ element :morocco, 'abc'
907
945
  end
908
946
 
909
- class MySection < SitePrism::Section
910
- section :my_subsection, MySubSection, 'def'
947
+ class FilterPanel < SitePrism::Section
948
+ section :destination_filters, DestinationFilters, 'def'
911
949
  end
912
950
 
913
- class MyPage < SitePrism::Page
914
- section :my_section, MySection, 'ghi'
951
+ class Home < SitePrism::Page
952
+ section :filter_panel, FilterPanel, 'ghi'
915
953
  end
916
954
  ```
917
955
 
918
956
  Then calling `#parent` will return the following:
919
957
 
920
958
  ```ruby
921
- @my_page = MyPage.new
922
- @my_page.load
959
+ @home = Home.new
960
+ @home.load
923
961
 
924
- @my_page.my_section.parent #=> returns @my_page
925
- @my_page.my_section.my_subsection.parent #=> returns @my_page.my_section
962
+ @home.filter_panel.parent #=> returns @home
963
+ @home.filter_panel.destination_filters.parent #=> returns @home.filter_panel
926
964
  ```
927
965
 
928
966
  #### Getting a section's parent page
@@ -1043,7 +1081,7 @@ end
1043
1081
 
1044
1082
  # how to login (fatuous, but demonstrates the point):
1045
1083
 
1046
- Then /^I sign in$/ do
1084
+ Then(/^I sign in$/) do
1047
1085
  @home = Home.new
1048
1086
  @home.load
1049
1087
  expect(@home).to have_login_and_registration
@@ -1055,7 +1093,7 @@ end
1055
1093
 
1056
1094
  # how to sign up:
1057
1095
 
1058
- When /^I enter my name into the home page's registration form$/ do
1096
+ When(/^I enter my name into the home page's registration form$/) do
1059
1097
  @home = Home.new
1060
1098
  @home.load
1061
1099
  expect(@home.login_and_registration).to have_first_name
@@ -1132,7 +1170,7 @@ end
1132
1170
  This allows for pretty tests ...
1133
1171
 
1134
1172
  ```ruby
1135
- Then /^there are lots of search_results$/ do
1173
+ Then(/^there are lots of search_results$/) do
1136
1174
  expect(@results_page.search_results.size).to eq(10)
1137
1175
 
1138
1176
  @home.search_results.each do |result|
@@ -1143,7 +1181,7 @@ end
1143
1181
  ```
1144
1182
 
1145
1183
  The css selector that is passed as the 3rd argument to the
1146
- `sections` method ("#results li") is used to find a number of capybara
1184
+ `sections` method (`#results li`) is used to find a number of capybara
1147
1185
  elements. Each capybara element found using the css selector is used to
1148
1186
  create a new instance of `SearchResults` and becomes its root
1149
1187
  element. So if the css selector finds 3 `li` elements, calling
@@ -1196,7 +1234,7 @@ Here's how to test for the existence of the section:
1196
1234
  This allows for some pretty tests ...
1197
1235
 
1198
1236
  ```ruby
1199
- Then /^there are search results on the page$/ do
1237
+ Then(/^there are search results on the page$/) do
1200
1238
  expect(@home).to have_search_results
1201
1239
  end
1202
1240
  ```
@@ -1397,7 +1435,7 @@ the validations will be performed in the following order:
1397
1435
  **NB:** `SitePrism::Page` **used to** include a default load validation on
1398
1436
  `page.displayed?` however for v3 this has been removed. It is therefore
1399
1437
  necessary to re-define this if you want to retain the behaviour
1400
- from site_prism v2. See [UPGRADING.md](https://github.com/natritmeyer/site_prism/blob/master/UPGRADING.md#default-load-validations)
1438
+ from site_prism v2. See [UPGRADING.md](https://github.com/site-prism/site_prism/blob/master/UPGRADING.md#default-load-validations)
1401
1439
  for more info on this.
1402
1440
 
1403
1441
  ## Using Capybara Query Options
@@ -1447,7 +1485,7 @@ Now we can write pretty, non-failing tests without hard coding these options
1447
1485
  into our page and section classes:
1448
1486
 
1449
1487
  ```ruby
1450
- Then /^there are search results on the page$/ do
1488
+ Then(/^there are search results on the page$/) do
1451
1489
  expect(@results_page).to have_search_results(count: 25)
1452
1490
  end
1453
1491
  ```
@@ -1580,7 +1618,7 @@ class Home < SitePrism::Page
1580
1618
  end
1581
1619
 
1582
1620
  # cucumber step that performs login
1583
- When /^I log in$/ do
1621
+ When(/^I log in$/) do
1584
1622
  @home = Home.new
1585
1623
  @home.load
1586
1624
 
@@ -1611,8 +1649,8 @@ as per the code below
1611
1649
 
1612
1650
  ```ruby
1613
1651
  Capybara.configure do |config|
1614
- config.default_max_wait_time = 11 #=> Wait up to 11 seconds for all querys to fail
1615
- # or alternatively, if you don't want to ever wait
1652
+ config.default_max_wait_time = 11 #=> Wait up to 11 seconds for all queries to fail
1653
+ # or if you don't want to ever wait
1616
1654
  config.default_max_wait_time = 0 #=> Don't ever wait!
1617
1655
  end
1618
1656
  ```
@@ -1635,6 +1673,9 @@ end
1635
1673
  There's a SitePrism plugin called `site_prism.vcr` that lets you use
1636
1674
  SitePrism with the VCR gem. Check it out [HERE](https://github.com/dnesteryuk/site_prism.vcr)
1637
1675
 
1676
+ Note that as of 2016 this plugin doesn't appear to have been under active development. Also it is
1677
+ still pinned to the `2.x` series of site_prism so use it of your own accord.
1678
+
1638
1679
  # Epilogue
1639
1680
 
1640
1681
  So, we've seen how to use SitePrism to put together page objects made up
@@ -15,6 +15,8 @@ module SitePrism
15
15
  autoload :Waiter, 'site_prism/waiter'
16
16
 
17
17
  class << self
18
+ attr_reader :use_all_there_gem
19
+
18
20
  def configure
19
21
  yield self
20
22
  end
@@ -65,5 +67,13 @@ module SitePrism
65
67
  def log_level
66
68
  %i[DEBUG INFO WARN ERROR FATAL UNKNOWN][logger.level]
67
69
  end
70
+
71
+ # Whether you wish to use the new experimental all_there dependent gem
72
+ # This will be enforced from site_prism v4 onwards as this is where
73
+ # the development of this functionality will be focused
74
+ def use_all_there_gem=(value)
75
+ logger.debug("Setting use_all_there_gem to #{value}")
76
+ @use_all_there_gem = value
77
+ end
68
78
  end
69
79
  end
@@ -98,7 +98,7 @@ module SitePrism
98
98
  begin
99
99
  Addressable::URI.parse(url)
100
100
  rescue Addressable::URI::InvalidURIError
101
- SitePrism.logger.warn("Ensure you don't use templated port numbers.")
101
+ SitePrism.logger.fatal("Ensure you don't use templated port numbers.")
102
102
  raise SitePrism::InvalidUrlMatcherError
103
103
  end
104
104
  end
@@ -76,6 +76,7 @@ module SitePrism
76
76
  attr_reader :expected_items
77
77
 
78
78
  def element(name, *find_args)
79
+ SitePrism::Deprecator.deprecate('Passing a block to :element') if block_given?
79
80
  build(:element, name, *find_args) do
80
81
  define_method(name) do |*runtime_args, &element_block|
81
82
  raise_if_block(self, name, !element_block.nil?, :element)
@@ -85,6 +86,7 @@ module SitePrism
85
86
  end
86
87
 
87
88
  def elements(name, *find_args)
89
+ SitePrism::Deprecator.deprecate('Passing a block to :elements') if block_given?
88
90
  build(:elements, name, *find_args) do
89
91
  define_method(name) do |*runtime_args, &element_block|
90
92
  raise_if_block(self, name, !element_block.nil?, :elements)
@@ -120,6 +122,7 @@ module SitePrism
120
122
  end
121
123
 
122
124
  def iframe(name, klass, *args)
125
+ SitePrism.logger.debug('Block passed into iFrame construct at build time') if block_given?
123
126
  element_find_args = deduce_iframe_element_find_args(args)
124
127
  scope_find_args = deduce_iframe_scope_find_args(args)
125
128
  build(:iframe, name, *element_find_args) do
@@ -142,10 +145,11 @@ module SitePrism
142
145
  private
143
146
 
144
147
  def old_mapped_items
145
- SitePrism.logger.debug("Calling .mapped_items on a class is changing!
146
- The structure will soon be changing format. This will allow #all_there? to
147
- recurse through section / sections going forwards. The old format will remain
148
- until a v5 has been released (And will be deprecated in v4 of site_prism")
148
+ SitePrism::Deprecator.soft_deprecate(
149
+ '.mapped_items on a class',
150
+ 'To allow easier recursion through the items in conjunction with #all_there?',
151
+ '.mapped_items(legacy: false)'
152
+ )
149
153
  @old_mapped_items ||= []
150
154
  end
151
155
 
@@ -196,9 +200,7 @@ until a v5 has been released (And will be deprecated in v4 of site_prism")
196
200
 
197
201
  RSpec::Matchers.define "have_#{element_name}" do |*args|
198
202
  match { |actual| actual.public_send(matcher, *args) }
199
- match_when_negated do |actual|
200
- actual.public_send(negated_matcher, *args)
201
- end
203
+ match_when_negated { |actual| actual.public_send(negated_matcher, *args) }
202
204
  end
203
205
  end
204
206
 
@@ -247,7 +249,7 @@ until a v5 has been released (And will be deprecated in v4 of site_prism")
247
249
  end
248
250
 
249
251
  def create_error_method(name)
250
- SitePrism.logger.error("#{name} has come from an item with 0 locators.")
252
+ SitePrism.logger.error("#{name} has come from an item with no locators.")
251
253
  define_method(name) { raise SitePrism::InvalidElementError }
252
254
  end
253
255
 
@@ -273,7 +275,7 @@ until a v5 has been released (And will be deprecated in v4 of site_prism")
273
275
  return unless looks_like_xpath?(args[0])
274
276
 
275
277
  SitePrism.logger.warn('The arguments passed in look like xpath. Check your locators.')
276
- SitePrism.logger.debug("Default locator: #{Capybara.default_selector}")
278
+ SitePrism.logger.debug("Default locator strategy: #{Capybara.default_selector}")
277
279
  end
278
280
 
279
281
  def looks_like_xpath?(arg)
@@ -24,7 +24,7 @@ module SitePrism
24
24
  if recursion == :none
25
25
  elements_to_check.all? { |name| there?(name) }
26
26
  elsif recursion == :one
27
- RecursionChecker.new(self).all_there?
27
+ all_there_with_recursion
28
28
  else
29
29
  SitePrism.logger.debug("Input value '#{recursion}'. Valid values are :none or :one.")
30
30
  SitePrism.logger.error('Invalid recursion setting, Will not run #all_there?.')
@@ -37,6 +37,14 @@ module SitePrism
37
37
 
38
38
  private
39
39
 
40
+ def all_there_with_recursion
41
+ if SitePrism.use_all_there_gem
42
+ SitePrism::AllThere::RecursionChecker.new(self).all_there?
43
+ else
44
+ RecursionChecker.new(self).all_there?
45
+ end
46
+ end
47
+
40
48
  # If the page or section has expected_items set, return expected_items that are mapped
41
49
  # otherwise just return the list of all mapped_items
42
50
  def elements_to_check
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SitePrism
4
- VERSION = '3.3'
4
+ VERSION = '3.4'
5
5
  end
@@ -26,7 +26,7 @@ module SitePrism
26
26
  raise(
27
27
  SitePrism::FrozenInTimeError,
28
28
  'Time appears to be frozen. For more info, see ' \
29
- 'https://github.com/natritmeyer/site_prism/blob/master/lib/site_prism/error.rb'
29
+ 'https://github.com/site-prism/site_prism/blob/master/lib/site_prism/error.rb'
30
30
  )
31
31
  end
32
32
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: site_prism
3
3
  version: !ruby/object:Gem::Version
4
- version: '3.3'
4
+ version: '3.4'
5
5
  platform: ruby
6
6
  authors:
7
- - Nat Ritmeyer
8
7
  - Luke Hill
8
+ - Nat Ritmeyer
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-07-01 00:00:00.000000000 Z
12
+ date: 2019-08-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: addressable
@@ -45,14 +45,14 @@ dependencies:
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: 0.1.0
48
+ version: 0.2.0
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: 0.1.0
55
+ version: 0.2.0
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: cucumber
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -101,28 +101,42 @@ dependencies:
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: 0.67.0
104
+ version: 0.73.0
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: 0.67.0
111
+ version: 0.73.0
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: rubocop-performance
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: 1.0.0
118
+ version: 1.4.0
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: 1.0.0
125
+ version: 1.4.0
126
+ - !ruby/object:Gem::Dependency
127
+ name: rubocop-rspec
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: 1.33.0
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: 1.33.0
126
140
  - !ruby/object:Gem::Dependency
127
141
  name: selenium-webdriver
128
142
  requirement: !ruby/object:Gem::Requirement
@@ -143,35 +157,35 @@ dependencies:
143
157
  requirements:
144
158
  - - "~>"
145
159
  - !ruby/object:Gem::Version
146
- version: '0.16'
160
+ version: '0.17'
147
161
  type: :development
148
162
  prerelease: false
149
163
  version_requirements: !ruby/object:Gem::Requirement
150
164
  requirements:
151
165
  - - "~>"
152
166
  - !ruby/object:Gem::Version
153
- version: '0.16'
167
+ version: '0.17'
154
168
  - !ruby/object:Gem::Dependency
155
169
  name: webdrivers
156
170
  requirement: !ruby/object:Gem::Requirement
157
171
  requirements:
158
172
  - - "~>"
159
173
  - !ruby/object:Gem::Version
160
- version: 3.9.1
174
+ version: 3.9.3
161
175
  type: :development
162
176
  prerelease: false
163
177
  version_requirements: !ruby/object:Gem::Requirement
164
178
  requirements:
165
179
  - - "~>"
166
180
  - !ruby/object:Gem::Version
167
- version: 3.9.1
181
+ version: 3.9.3
168
182
  description: |-
169
183
  SitePrism gives you a simple,
170
184
  clean and semantic DSL for describing your site.
171
185
  SitePrism implements the Page Object Model pattern on top of Capybara.
172
186
  email:
173
- - nat@natontesting.com
174
187
  - lukehill_uk@hotmail.com
188
+ - nat@natontesting.com
175
189
  executables: []
176
190
  extensions: []
177
191
  extra_rdoc_files: []
@@ -191,13 +205,13 @@ files:
191
205
  - lib/site_prism/section.rb
192
206
  - lib/site_prism/version.rb
193
207
  - lib/site_prism/waiter.rb
194
- homepage: https://github.com/natritmeyer/site_prism
208
+ homepage: https://github.com/site-prism/site_prism
195
209
  licenses:
196
210
  - BSD-3-Clause
197
211
  metadata:
198
- bug_tracker_uri: https://github.com/natritmeyer/site_prism/issues
199
- changelog_uri: https://github.com/natritmeyer/site_prism/blob/master/CHANGELOG.md
200
- source_code_uri: https://github.com/natritmeyer/site_prism
212
+ bug_tracker_uri: https://github.com/site-prism/site_prism/issues
213
+ changelog_uri: https://github.com/site-prism/site_prism/blob/master/CHANGELOG.md
214
+ source_code_uri: https://github.com/site-prism/site_prism
201
215
  post_install_message: |-
202
216
  site_prism has now moved to a new organisation to facilitate better
203
217
  management of the codebase. The new organisation link is available at www.github.com/site-prism