test-factory 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -169,7 +169,8 @@ end
169
169
  Design Pattern
170
170
  --------------
171
171
 
172
- The TestFactory was written assuming the following guiding principles. Any code that does not follow them is probably not DRY.
172
+ The TestFactory was written assuming the following guiding principles. Any code that does not
173
+ follow them probably [smells](http://en.wikipedia.org/wiki/Code_smell), and should be refactored.
173
174
 
174
175
  1. Page Classes contain methods relating to interactions with page elements only--meaning
175
176
  the getting or setting of values, or the clicking of links or buttons. Any more
@@ -182,10 +183,11 @@ The TestFactory was written assuming the following guiding principles. Any code
182
183
  custom methods are avoided without compelling arguments for their inclusion in the class.
183
184
  4. When a Data Object is executing its `edit` method, first the data in the
184
185
  system under test is updated, then the data object's instance variables
185
- are updated--using `set_options`.
186
+ are updated--using DataFactory's `set_options`.
186
187
  5. Site navigation is handled using conditional methods (meaning they only navigate if
187
- necessary) inside the Data Object, unless there are specific reasons to explicitly
188
- navigate in a step definition. This keeps step definitions from being unnecessarily cluttered.
188
+ necessary) inside the Data Object--and preferably inside the data object's CRUD methods
189
+ themselves--unless there are specific reasons to explicitly navigate in a step
190
+ definition. This keeps step definitions from being unnecessarily cluttered.
189
191
  6. Specifying non-default test variables for data objects is done using key/value hash
190
192
  pairs that are parameters of the data object's CRUD methods. It is _not_
191
193
  done by explicitly assigning values to the instance variables. Examples:
@@ -193,10 +195,12 @@ The TestFactory was written assuming the following guiding principles. Any code
193
195
  # During object creation, following the name of the class
194
196
  @data_object = make DataObject, :attrib1 => "Custom Value 1", :attrib2 => "Custom Value 2" # etc...
195
197
 
196
- # When an object is edited (Ruby v1.9.3 Hash syntax optional)
198
+ # When an object is edited (using Ruby v1.9.3's Hash syntax is optional)
197
199
  @data_object.edit attrib1: "Updated Value 1", attrib2: "Updated Value 2"
198
200
 
199
- # This is frowned upon:
201
+ # This is frowned upon because it can easily lead to
202
+ # the data object and the data in the test site being
203
+ # out of sync, leading to a false negative test result:
200
204
  @data_object.attrib1="Another Value"
201
205
 
202
206
  ```
Binary file
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.1.8'
3
+ s.version = '0.1.9'
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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-factory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -47,6 +47,7 @@ files:
47
47
  - lib/test-factory/string_factory.rb
48
48
  - lib/test-factory.rb
49
49
  - README.md
50
+ - test-factory-0.1.8.gem
50
51
  - test-factory.gemspec
51
52
  homepage: https://github.com/rSmart
52
53
  licenses: []