cucumber_factory 1.8.3 → 1.8.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.