factory_bot_variants 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0768f2e9df6a8788bb8a2ef27fb3fdc064b8e35addeabba424dde8fd3fe56ca7'
4
- data.tar.gz: b50b24636ae73f91d8f1c8a8585a57de34f81c223f1d7ae71c7d4c94a86fe23c
3
+ metadata.gz: 8bcb867528da166eeab75c1cc12e51a82a1a0e25761400cd9f3393c728a43b62
4
+ data.tar.gz: 4464e316f54ba850dab80703d3d6bb37ff5d400fe1ec05253ca7681b0eacbc9e
5
5
  SHA512:
6
- metadata.gz: 728ff7c516e59fc5bb54381890fb567c4d2c59a6ba47c2ce199c5ae3763b0f2a917e973872042e1d61fedb9a21224b8ae494db967bc9a7efcf138b0efb75fed7
7
- data.tar.gz: 724f1d76b2a24776e46708b16e068a115e2b0e221a513322ef06cc81b090296a4b190d8ae4f4b798aaade49749d10d8a9ef76e7d56619b24f4158f18e97a8b5e
6
+ metadata.gz: 78a7ca78478aecab65825b93e434de40adbfb3420d0d3f2e5fc11577e82cd5f5fc46d467fab5630f53ad75ecae20bd12ddb684142440916c6103b3ca821bf0fa
7
+ data.tar.gz: 15c98590aede45c9e24cfba652191588ed29a9cc37accb9ef1c7a2db53039ea8a0512003190fecf0c1258335e8645f9db7f079021f5a0cbf655e741dbecb2f60
data/.gitignore CHANGED
@@ -8,3 +8,5 @@
8
8
  /tmp/
9
9
 
10
10
  spec/examples.txt
11
+
12
+ gemfiles/*.lock
@@ -0,0 +1,7 @@
1
+ appraise "factory_bot_4_8" do
2
+ gem "factory_bot", "~> 4.8"
3
+ end
4
+
5
+ appraise "factory_bot_5" do
6
+ gem "factory_bot", "~> 5.0"
7
+ end
@@ -1,22 +1,26 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- factory_bot_variants (0.1.0)
5
- factory_bot (~> 4.8)
4
+ factory_bot_variants (0.2.0)
5
+ factory_bot (>= 4.8, < 6)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (5.2.1)
10
+ activesupport (5.2.3)
11
11
  concurrent-ruby (~> 1.0, >= 1.0.2)
12
12
  i18n (>= 0.7, < 2)
13
13
  minitest (~> 5.1)
14
14
  tzinfo (~> 1.1)
15
- concurrent-ruby (1.0.5)
15
+ appraisal (2.2.0)
16
+ bundler
17
+ rake
18
+ thor (>= 0.14.0)
19
+ concurrent-ruby (1.1.5)
16
20
  diff-lcs (1.3)
17
- factory_bot (4.11.1)
18
- activesupport (>= 3.0.0)
19
- i18n (1.1.0)
21
+ factory_bot (5.0.2)
22
+ activesupport (>= 4.2.0)
23
+ i18n (1.6.0)
20
24
  concurrent-ruby (~> 1.0)
21
25
  minitest (5.11.3)
22
26
  rake (10.5.0)
@@ -33,6 +37,7 @@ GEM
33
37
  diff-lcs (>= 1.2.0, < 2.0)
34
38
  rspec-support (~> 3.8.0)
35
39
  rspec-support (3.8.0)
40
+ thor (0.20.3)
36
41
  thread_safe (0.3.6)
37
42
  tzinfo (1.2.5)
38
43
  thread_safe (~> 0.1)
@@ -41,10 +46,11 @@ PLATFORMS
41
46
  ruby
42
47
 
43
48
  DEPENDENCIES
49
+ appraisal (~> 2.2)
44
50
  bundler (~> 1.16)
45
51
  factory_bot_variants!
46
52
  rake (~> 10.0)
47
53
  rspec (~> 3.8)
48
54
 
49
55
  BUNDLED WITH
50
- 1.16.5
56
+ 1.17.2
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # FactoryBotVariants
2
2
 
3
- In tests, particularly when asserting the order of entities, it's common to
4
- create several objects which vary by only one or two attributes:
3
+ In tests it's common to create several objects which vary by only one or two
4
+ attributes (particularly when asserting the order, or filtering, of entities):
5
5
 
6
6
  ```ruby
7
7
  it "sorts dogs oldest to youngest" do
@@ -28,7 +28,7 @@ If you have common attributes to assign to each variant, use the `:all` key:
28
28
  build_variants(:dog, names: ["Brutus", "Avril"], all: { cute: false })
29
29
  ```
30
30
 
31
- ## Usage
31
+ ## Installation
32
32
 
33
33
  In your gemfile:
34
34
 
@@ -61,3 +61,32 @@ RSpec.configure do |config|
61
61
  config.include FactoryBotVariants::DSL
62
62
  end
63
63
  ```
64
+
65
+ ## API
66
+
67
+ There's an equivalent `_variants` method per [FactoryBot strategy][strategies]:
68
+
69
+ [strategies]: https://github.com/thoughtbot/factory_bot/blob/master/GETTING_STARTED.md#using-factories
70
+
71
+ - `build_variants`
72
+ - `create_variants`
73
+ - `attributes_for_variants`
74
+ - `build_stubbed_variants`
75
+
76
+ Arguments:
77
+
78
+ 1. Factory name
79
+ 1. Traits (optional)
80
+ 1. One or more variant attributes
81
+
82
+ Example:
83
+
84
+ ```ruby
85
+ build_variants(
86
+ factory_name,
87
+ trait,
88
+ attr1: [:a, :b],
89
+ attr2: [1, 2],
90
+ all: { common_attr: 1 },
91
+ )
92
+ ```
@@ -21,8 +21,9 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_dependency "factory_bot", "~> 4.8"
24
+ spec.add_dependency "factory_bot", ">= 4.8", "< 6"
25
25
 
26
+ spec.add_development_dependency "appraisal", "~> 2.2"
26
27
  spec.add_development_dependency "bundler", "~> 1.16"
27
28
  spec.add_development_dependency "rake", "~> 10.0"
28
29
  spec.add_development_dependency "rspec", "~> 3.8"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "factory_bot", "~> 4.8"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "factory_bot", "~> 5.0"
6
+
7
+ gemspec path: "../"
@@ -1,3 +1,3 @@
1
1
  module FactoryBotVariants
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,29 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factory_bot_variants
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oliver Peate
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-09-28 00:00:00.000000000 Z
11
+ date: 2019-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: factory_bot
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4.8'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '6'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '4.8'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '6'
33
+ - !ruby/object:Gem::Dependency
34
+ name: appraisal
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.2'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.2'
27
47
  - !ruby/object:Gem::Dependency
28
48
  name: bundler
29
49
  requirement: !ruby/object:Gem::Requirement
@@ -75,6 +95,7 @@ files:
75
95
  - ".gitignore"
76
96
  - ".rspec"
77
97
  - ".travis.yml"
98
+ - Appraisals
78
99
  - Gemfile
79
100
  - Gemfile.lock
80
101
  - LICENSE.txt
@@ -83,6 +104,8 @@ files:
83
104
  - bin/console
84
105
  - bin/setup
85
106
  - factory_bot_variants.gemspec
107
+ - gemfiles/factory_bot_4_8.gemfile
108
+ - gemfiles/factory_bot_5.gemfile
86
109
  - lib/factory_bot_variants.rb
87
110
  - lib/factory_bot_variants/dsl.rb
88
111
  - lib/factory_bot_variants/variant_attributes.rb
@@ -106,8 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
129
  - !ruby/object:Gem::Version
107
130
  version: '0'
108
131
  requirements: []
109
- rubyforge_project:
110
- rubygems_version: 2.7.7
132
+ rubygems_version: 3.0.3
111
133
  signing_key:
112
134
  specification_version: 4
113
135
  summary: ''