cucumber_factory 1.8.3 → 1.8.4

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.
@@ -43,7 +43,9 @@ module Cucumber
43
43
  end
44
44
 
45
45
  def get_named_record(world, name)
46
- world.instance_variable_get(NAMED_RECORDS_VARIABLE)[name]
46
+ world.instance_variable_get(NAMED_RECORDS_VARIABLE)[name].tap do |record|
47
+ record.reload if record.respond_to?(:reload) and record.respond_to?(:new_record?) and not record.new_record?
48
+ end
47
49
  end
48
50
 
49
51
  def set_named_record(world, name, record)
@@ -1,3 +1,3 @@
1
1
  module CucumberFactory
2
- VERSION = '1.8.3'
2
+ VERSION = '1.8.4'
3
3
  end
@@ -3,4 +3,8 @@ class Movie < ActiveRecord::Base
3
3
  belongs_to :prequel, :class_name => "Movie"
4
4
  belongs_to :reviewer, :class_name => "User"
5
5
 
6
+ validate do |record|
7
+ record.errors.add(:reviewer, 'may not be deleted') if record.reviewer and record.reviewer.deleted?
8
+ end
9
+
6
10
  end
@@ -151,6 +151,12 @@ describe 'steps provided by cucumber_factory' do
151
151
  before_sunset.reviewer.name.should == "Jane"
152
152
  end
153
153
 
154
+ it "should reload an object assigned to a belongs_to before assigning" do
155
+ invoke_cucumber_step('"Jane" is a user who is deleted')
156
+ User.last.update_attributes(:deleted => false)
157
+ proc { invoke_cucumber_step('there is a movie with the title "Before Sunset" and the reviewer "Jane"') }.should_not raise_error
158
+ end
159
+
154
160
  it "should allow to set positive boolean attributes with 'who' after the attribute list" do
155
161
  user = User.new
156
162
  User.stub(:new => user)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber_factory
3
3
  version: !ruby/object:Gem::Version
4
- hash: 49
4
+ hash: 63
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 8
9
- - 3
10
- version: 1.8.3
9
+ - 4
10
+ version: 1.8.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Henning Koch
@@ -15,10 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-03-05 00:00:00 +01:00
18
+ date: 2013-04-02 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
+ name: rails
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
24
25
  none: false
@@ -30,10 +31,10 @@ dependencies:
30
31
  - 2
31
32
  - 3
32
33
  version: "2.3"
33
- name: rails
34
- version_requirements: *id001
35
34
  type: :development
35
+ version_requirements: *id001
36
36
  - !ruby/object:Gem::Dependency
37
+ name: rspec
37
38
  prerelease: false
38
39
  requirement: &id002 !ruby/object:Gem::Requirement
39
40
  none: false
@@ -44,10 +45,10 @@ dependencies:
44
45
  segments:
45
46
  - 2
46
47
  version: "2"
47
- name: rspec
48
- version_requirements: *id002
49
48
  type: :development
49
+ version_requirements: *id002
50
50
  - !ruby/object:Gem::Dependency
51
+ name: rspec-rails
51
52
  prerelease: false
52
53
  requirement: &id003 !ruby/object:Gem::Requirement
53
54
  none: false
@@ -60,10 +61,10 @@ dependencies:
60
61
  - 3
61
62
  - 4
62
63
  version: 1.3.4
63
- name: rspec-rails
64
- version_requirements: *id003
65
64
  type: :development
65
+ version_requirements: *id003
66
66
  - !ruby/object:Gem::Dependency
67
+ name: sqlite3
67
68
  prerelease: false
68
69
  requirement: &id004 !ruby/object:Gem::Requirement
69
70
  none: false
@@ -74,10 +75,10 @@ dependencies:
74
75
  segments:
75
76
  - 0
76
77
  version: "0"
77
- name: sqlite3
78
- version_requirements: *id004
79
78
  type: :development
79
+ version_requirements: *id004
80
80
  - !ruby/object:Gem::Dependency
81
+ name: cucumber
81
82
  prerelease: false
82
83
  requirement: &id005 !ruby/object:Gem::Requirement
83
84
  none: false
@@ -88,10 +89,10 @@ dependencies:
88
89
  segments:
89
90
  - 0
90
91
  version: "0"
91
- name: cucumber
92
- version_requirements: *id005
93
92
  type: :runtime
93
+ version_requirements: *id005
94
94
  - !ruby/object:Gem::Dependency
95
+ name: activesupport
95
96
  prerelease: false
96
97
  requirement: &id006 !ruby/object:Gem::Requirement
97
98
  none: false
@@ -102,9 +103,8 @@ dependencies:
102
103
  segments:
103
104
  - 0
104
105
  version: "0"
105
- name: activesupport
106
- version_requirements: *id006
107
106
  type: :runtime
107
+ version_requirements: *id006
108
108
  description: Cucumber Factory allows you to create ActiveRecord models from your Cucumber features without writing step definitions for each model.
109
109
  email: github@makandra.de
110
110
  executables: []
@@ -185,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
185
  requirements: []
186
186
 
187
187
  rubyforge_project:
188
- rubygems_version: 1.3.9.4
188
+ rubygems_version: 1.3.9.5
189
189
  signing_key:
190
190
  specification_version: 3
191
191
  summary: Create records from Cucumber features without writing step definitions.