cucumber_factory 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,9 +2,11 @@ $: << File.join(File.dirname(__FILE__), "/../../lib" )
2
2
 
3
3
  require 'cucumber_factory'
4
4
  require 'gemika'
5
+ require 'factory_bot'
5
6
 
6
7
  ActiveRecord::Base.default_timezone = :local
7
8
 
9
+ Dir["#{File.dirname(__FILE__)}/support/models/*.rb"].sort.each {|f| require f}
8
10
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].sort.each {|f| require f}
9
11
  Dir["#{File.dirname(__FILE__)}/shared_examples/**/*.rb"].sort.each {|f| require f}
10
12
 
@@ -16,4 +18,5 @@ Gemika::RSpec.configure do |config|
16
18
  config.before(:each) do
17
19
  PlainRubyClass.reset
18
20
  end
21
+ config.include FactoryBot::Syntax::Methods
19
22
  end
@@ -35,4 +35,10 @@ Gemika::Database.new.rewrite_schema! do
35
35
  create_table :actors do |t|
36
36
  end
37
37
 
38
+ create_table :job_offers do |t|
39
+ end
40
+
41
+ create_table :operas do |t|
42
+ end
43
+
38
44
  end
@@ -0,0 +1,32 @@
1
+ FactoryBot.define do
2
+ factory :job_offer, :class => ::JobOffer do
3
+ transient do
4
+ my_transient_attribute { nil }
5
+ end
6
+
7
+ trait :tempting_job_offer do
8
+ transient do
9
+ other_transient_attribute { nil }
10
+ end
11
+ end
12
+ trait :risky
13
+ trait :lucrative
14
+ end
15
+
16
+ factory :user, :class => User do
17
+ transient do
18
+ movie { nil }
19
+ end
20
+
21
+ after(:build) do |user, evaluator|
22
+ if user.reviewed_movies.blank? && evaluator.movie
23
+ user.reviewed_movies << evaluator.movie
24
+ end
25
+ end
26
+ end
27
+
28
+ factory :movie, :class => Movie
29
+ factory :opera, :class => Opera
30
+ factory :payment, :class => Payment
31
+ factory :uuid_user, :class => UuidUser
32
+ end
@@ -1,4 +1,2 @@
1
- class JobOffer
2
- def initialize(options)
3
- end
1
+ class JobOffer < ActiveRecord::Base
4
2
  end
@@ -1,4 +1,3 @@
1
- class Opera
2
- def initialize(options)
3
- end
1
+ class Opera < ActiveRecord::Base
2
+
4
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber_factory
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henning Koch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-26 00:00:00.000000000 Z
11
+ date: 2020-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -105,7 +105,7 @@ files:
105
105
  - spec/support/database.rb
106
106
  - spec/support/database.sample.yml
107
107
  - spec/support/database.travis.yml
108
- - spec/support/factory_bot_mock.rb
108
+ - spec/support/factories/factories.rb
109
109
  - spec/support/models/job_offer.rb
110
110
  - spec/support/models/machinist_model.rb
111
111
  - spec/support/models/movie.rb
@@ -134,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  - !ruby/object:Gem::Version
135
135
  version: '0'
136
136
  requirements: []
137
- rubygems_version: 3.1.2
137
+ rubygems_version: 3.0.2
138
138
  signing_key:
139
139
  specification_version: 4
140
140
  summary: Create records from Cucumber features without writing step definitions.
@@ -1,17 +0,0 @@
1
- class FactoryBot # for factory_bot compatibility spec
2
-
3
- def self.factories
4
- {}
5
- end
6
-
7
- Factory = Struct.new(:name, :build_class)
8
-
9
- def self.stub_factories(hash)
10
- factories = {}
11
- hash.each do |name, build_class|
12
- factories[name] = Factory.new(name, build_class)
13
- end
14
- FactoryBot.stub :factories => factories
15
- end
16
- end
17
-