test-factory 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/lib/test-factory/data_factory.rb +35 -1
- data/lib/test-factory/data_object.rb +5 -2
- data/test-factory.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OGYwODM3ZDNiZjhjYTFiZjBiNDYxZjU0M2ZiNTljYTJkZmNiZjJhOA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZThmZjAwOGNkN2IyODI2NTcxMjIyZjVkOGY5NGVmZWY4ZmE4ZDJmZg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDk2Y2M4NDUzNjFmZjkwMjE4OWM1OWJiZThlZWJjZTUzZWY5ZTJkYTcwZTQx
|
10
|
+
NzllNjY0OGU1NTg0YTQyNWI3NTQ5YzE5MmRlNjQxMDBjYzhkOTc4OTUzYTNm
|
11
|
+
NzY4MjUyYTlkMjNkOTNhNGYwMGZjOTg4YjkzMWNkMzdhNGMzMzk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OGFkNDdiMzI5NmU0NDQ1ZGIxMDdhYjMxZDViM2I1Y2RkZDU2ZmU0NDk5NDVl
|
14
|
+
Njg0ZGQ1NzVjMWE3OTgxOTNiOTAwZTY2YjQwMzE3NTNkMzVmNTMwMjM3Njdk
|
15
|
+
NjA4MmI1NDQxZjc0MWUwZTEwZDQ4YjMxZmRkOWU0MTFiODA4ZTc=
|
@@ -154,6 +154,34 @@ module DataFactory
|
|
154
154
|
f_o_i false, name, page, *fields
|
155
155
|
end
|
156
156
|
|
157
|
+
# Equivalent to #ordered_fill, except that it's used
|
158
|
+
# in the context of a Data Object's #edit method(s). As such, it
|
159
|
+
# requires the #edit method's hash to be passed as its own
|
160
|
+
# first parameter.
|
161
|
+
#
|
162
|
+
# @example
|
163
|
+
# on PageClass do |page|
|
164
|
+
# edit_fields opts, page, :text_field_name, :radio_name, :select_list_name, :checkbox_name
|
165
|
+
# end
|
166
|
+
#
|
167
|
+
def edit_fields(opts, page, *fields)
|
168
|
+
edit_item_fields opts, nil, page, *fields
|
169
|
+
end
|
170
|
+
|
171
|
+
# Equivalent to #ordered_item_fill, except that it's used
|
172
|
+
# in the context of a Data Object's #edit method(s). As such, it
|
173
|
+
# requires the #edit method's hash to be passed as its own
|
174
|
+
# first parameter.
|
175
|
+
#
|
176
|
+
# @example
|
177
|
+
# on PageClass do |page|
|
178
|
+
# edit_item_fields opts, 'Joe Schmoe', page, :text_field_name, :radio_name, :select_list_name, :checkbox_name
|
179
|
+
# end
|
180
|
+
#
|
181
|
+
def edit_item_fields(opts, name, page, *fields)
|
182
|
+
parse_fields(opts, name, page, *fields)
|
183
|
+
end
|
184
|
+
|
157
185
|
# This is a specialized method for use with any select list boxes
|
158
186
|
# that exist in the site you're testing and will contain
|
159
187
|
# unpredictable default values.
|
@@ -233,9 +261,15 @@ module DataFactory
|
|
233
261
|
#
|
234
262
|
def f_o_i(shuffle, name, page, *fields)
|
235
263
|
shuffle ? fields.shuffle! : fields
|
264
|
+
parse_fields(nil, name, page, *fields)
|
265
|
+
end
|
266
|
+
|
267
|
+
# Do not use this method directly.
|
268
|
+
#
|
269
|
+
def parse_fields(opts, name, page, fields)
|
236
270
|
fields.each do |field|
|
237
271
|
lmnt = page.send(*[field, name].compact)
|
238
|
-
var = instance_variable_get
|
272
|
+
var = opts.nil? ? instance_variable_get("@#{field}") : opts[field]
|
239
273
|
lmnt.class.to_s == 'Watir::Select' ? lmnt.pick!(var) : lmnt.fit(var)
|
240
274
|
end
|
241
275
|
end
|
@@ -13,7 +13,7 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
15
|
# The Superclass for all of your data objects.
|
16
|
-
class
|
16
|
+
class DataObjectFactory
|
17
17
|
|
18
18
|
include Foundry
|
19
19
|
include DataFactory
|
@@ -47,4 +47,7 @@ class DataObject
|
|
47
47
|
self.class.new(@browser, opts)
|
48
48
|
end
|
49
49
|
|
50
|
-
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# Empty alias class
|
53
|
+
class DataObject < DataObjectFactory; end
|
data/test-factory.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
spec = Gem::Specification.new do |s|
|
2
2
|
s.name = 'test-factory'
|
3
|
-
s.version = '0.4.
|
3
|
+
s.version = '0.4.1'
|
4
4
|
s.summary = %q{rSmart's framework for creating automated testing scripts}
|
5
5
|
s.description = %q{This gem provides a set of modules and methods to help quickly and DRYly create a test automation framework using Ruby and Watir (or watir-webdriver).}
|
6
6
|
s.files = Dir.glob("**/**/**")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test-factory
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Abraham Heward
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: watir-webdriver
|