cucumber_factory 2.0.0 → 2.2.0
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 +4 -4
- data/.travis.yml +0 -11
- data/CHANGELOG.md +51 -0
- data/Gemfile.cucumber-1.3 +8 -6
- data/Gemfile.cucumber-1.3.lock +49 -19
- data/Gemfile.cucumber-2.4 +3 -0
- data/Gemfile.cucumber-2.4.lock +4 -1
- data/Gemfile.cucumber-3.0 +3 -0
- data/Gemfile.cucumber-3.0.lock +4 -1
- data/Gemfile.cucumber-3.1 +3 -0
- data/Gemfile.cucumber-3.1.lock +4 -1
- data/README.md +23 -1
- data/lib/cucumber_factory.rb +1 -0
- data/lib/cucumber_factory/build_strategy.rb +99 -48
- data/lib/cucumber_factory/factory.rb +89 -30
- data/lib/cucumber_factory/update_strategy.rb +30 -0
- data/lib/cucumber_factory/version.rb +1 -1
- data/spec/cucumber_factory/factory/build_strategy_spec.rb +12 -14
- data/spec/cucumber_factory/steps_spec.rb +523 -383
- data/spec/spec_helper.rb +3 -0
- data/spec/support/database.rb +8 -0
- data/spec/support/factories/factories.rb +46 -0
- data/spec/support/models/job_offer.rb +1 -3
- data/spec/support/models/movie.rb +1 -0
- data/spec/support/models/opera.rb +2 -3
- metadata +4 -3
- data/spec/support/factory_bot_mock.rb +0 -17
data/spec/spec_helper.rb
CHANGED
@@ -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
|
data/spec/support/database.rb
CHANGED
@@ -7,6 +7,8 @@ Gemika::Database.new.rewrite_schema! do
|
|
7
7
|
t.integer :reviewer_id
|
8
8
|
t.string :uuid_reviewer_id
|
9
9
|
t.integer :box_office_result
|
10
|
+
t.string :premiere_site_type
|
11
|
+
t.bigint :premiere_site_id
|
10
12
|
end
|
11
13
|
|
12
14
|
create_table :users do |t|
|
@@ -35,4 +37,10 @@ Gemika::Database.new.rewrite_schema! do
|
|
35
37
|
create_table :actors do |t|
|
36
38
|
end
|
37
39
|
|
40
|
+
create_table :job_offers do |t|
|
41
|
+
end
|
42
|
+
|
43
|
+
create_table :operas do |t|
|
44
|
+
end
|
45
|
+
|
38
46
|
end
|
@@ -0,0 +1,46 @@
|
|
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 do
|
29
|
+
transient do
|
30
|
+
user { nil }
|
31
|
+
user_id { nil }
|
32
|
+
end
|
33
|
+
|
34
|
+
after(:build) do |movie, evaluator|
|
35
|
+
movie.reviewer = evaluator.user if evaluator.user
|
36
|
+
movie.reviewer_id = evaluator.user_id if evaluator.user_id
|
37
|
+
end
|
38
|
+
|
39
|
+
trait :parent_movie_trait
|
40
|
+
|
41
|
+
factory :subgenre_movie, traits: [:parent_movie_trait]
|
42
|
+
end
|
43
|
+
factory :opera, :class => Opera
|
44
|
+
factory :payment, :class => Payment
|
45
|
+
factory :uuid_user, :class => UuidUser
|
46
|
+
end
|
@@ -3,6 +3,7 @@ class Movie < ActiveRecord::Base
|
|
3
3
|
belongs_to :prequel, :class_name => "Movie"
|
4
4
|
belongs_to :reviewer, :class_name => "User"
|
5
5
|
belongs_to :uuid_reviewer, :class_name => "UuidUser"
|
6
|
+
belongs_to :premiere_site, polymorphic: true, required: false
|
6
7
|
|
7
8
|
validate do |record|
|
8
9
|
record.errors.add(:reviewer, 'may not be deleted') if record.reviewer and record.reviewer.deleted?
|
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.
|
4
|
+
version: 2.2.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-
|
11
|
+
date: 2020-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber
|
@@ -97,6 +97,7 @@ files:
|
|
97
97
|
- lib/cucumber_factory/build_strategy.rb
|
98
98
|
- lib/cucumber_factory/factory.rb
|
99
99
|
- lib/cucumber_factory/switcher.rb
|
100
|
+
- lib/cucumber_factory/update_strategy.rb
|
100
101
|
- lib/cucumber_factory/version.rb
|
101
102
|
- spec/cucumber_factory/factory/build_strategy_spec.rb
|
102
103
|
- spec/cucumber_factory/steps_spec.rb
|
@@ -105,7 +106,7 @@ files:
|
|
105
106
|
- spec/support/database.rb
|
106
107
|
- spec/support/database.sample.yml
|
107
108
|
- spec/support/database.travis.yml
|
108
|
-
- spec/support/
|
109
|
+
- spec/support/factories/factories.rb
|
109
110
|
- spec/support/models/job_offer.rb
|
110
111
|
- spec/support/models/machinist_model.rb
|
111
112
|
- spec/support/models/movie.rb
|
@@ -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
|
-
|