cucumber_factory 2.0.1 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,9 +2,14 @@ $: << File.join(File.dirname(__FILE__), "/../../lib" )
2
2
 
3
3
  require 'cucumber_factory'
4
4
  require 'gemika'
5
+ require 'factory_bot'
6
+ require 'carrierwave'
7
+ require 'carrierwave/orm/activerecord'
5
8
 
6
9
  ActiveRecord::Base.default_timezone = :local
7
10
 
11
+ Dir["#{File.dirname(__FILE__)}/support/uploaders/*.rb"].sort.each {|f| require f}
12
+ Dir["#{File.dirname(__FILE__)}/support/models/*.rb"].sort.each {|f| require f}
8
13
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].sort.each {|f| require f}
9
14
  Dir["#{File.dirname(__FILE__)}/shared_examples/**/*.rb"].sort.each {|f| require f}
10
15
 
@@ -16,4 +21,5 @@ Gemika::RSpec.configure do |config|
16
21
  config.before(:each) do
17
22
  PlainRubyClass.reset
18
23
  end
24
+ config.include FactoryBot::Syntax::Methods
19
25
  end
@@ -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|
@@ -30,9 +32,16 @@ Gemika::Database.new.rewrite_schema! do
30
32
  create_table :payments do |t|
31
33
  t.text :comment
32
34
  t.integer :amount
35
+ t.string :attachment
33
36
  end
34
37
 
35
38
  create_table :actors do |t|
36
39
  end
37
40
 
41
+ create_table :job_offers do |t|
42
+ end
43
+
44
+ create_table :operas do |t|
45
+ end
46
+
38
47
  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
@@ -1,4 +1,2 @@
1
- class JobOffer
2
- def initialize(options)
3
- end
1
+ class JobOffer < ActiveRecord::Base
4
2
  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?
@@ -1,4 +1,3 @@
1
- class Opera
2
- def initialize(options)
3
- end
1
+ class Opera < ActiveRecord::Base
2
+ has_many :movies, as: :premiere_site, inverse_of: :premiere_site
4
3
  end
@@ -1,8 +1,13 @@
1
- class Payment < ActiveRecord::Base
2
-
3
- if ActiveRecord::VERSION::MAJOR <= 3
4
- # Only the comment is accessible, amount isn't
5
- attr_accessible :comment
6
- end
7
-
8
- end
1
+ class Payment < ActiveRecord::Base
2
+ class AttachmentUploader < CarrierWave::Uploader::Base
3
+ storage :file
4
+ end
5
+
6
+ mount_uploader :attachment, AttachmentUploader
7
+
8
+ if ActiveRecord::VERSION::MAJOR <= 3
9
+ # Only the comment is accessible, amount isn't
10
+ attr_accessible :comment
11
+ end
12
+
13
+ end
@@ -0,0 +1,3 @@
1
+ class AttachmentUploader < CarrierWave::Uploader::Base
2
+ storage :file
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.1
4
+ version: 2.3.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-02-27 00:00:00.000000000 Z
11
+ date: 2020-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -97,7 +97,11 @@ 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
102
+ - spec/assets/file.txt
103
+ - spec/assets/file2.txt
104
+ - spec/assets/symlink.txt
101
105
  - spec/cucumber_factory/factory/build_strategy_spec.rb
102
106
  - spec/cucumber_factory/steps_spec.rb
103
107
  - spec/spec_helper.rb
@@ -105,7 +109,7 @@ files:
105
109
  - spec/support/database.rb
106
110
  - spec/support/database.sample.yml
107
111
  - spec/support/database.travis.yml
108
- - spec/support/factory_bot_mock.rb
112
+ - spec/support/factories/factories.rb
109
113
  - spec/support/models/job_offer.rb
110
114
  - spec/support/models/machinist_model.rb
111
115
  - spec/support/models/movie.rb
@@ -115,6 +119,7 @@ files:
115
119
  - spec/support/models/plain_ruby_class.rb
116
120
  - spec/support/models/user.rb
117
121
  - spec/support/models/uuid_user.rb
122
+ - spec/support/uploaders/attachment_uploader.rb
118
123
  homepage: http://github.com/makandra/cucumber_factory
119
124
  licenses:
120
125
  - MIT
@@ -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
-