factory_bot-blueprint-rspec 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90ab135111ffaf75e4c4e76bb988f18ba65a4830a651806fa3488055931b730c
4
- data.tar.gz: 6ced697033d75f2be92a0e4353f4e119a119b3b8d88b6b6ac2981112e819dd70
3
+ metadata.gz: 6d69a5a7bc30ab7ef24bf30d52470782905063ca277b6a43200dea4889913360
4
+ data.tar.gz: c5260558476aeda1899f059587f5ef1f8367433f550535b09db3f440344ea6a0
5
5
  SHA512:
6
- metadata.gz: 5d5c135992273852319396b86bd7bf9e7a843d7882378ec8c9b024fed1d36624f248be87b9840baf3d3b1498db12fef2e0208539d34a73e6a8a7e210151e7e0b
7
- data.tar.gz: 0f630406055469c8b5c917c1f294224f3915dc78f016e5ee92aed62efd25c4e55c4765dbd609f4dc9a78dd7ec79ee1ad8da276d67d009b3110fd4e6c9bfad2f2
6
+ metadata.gz: 2c465be8c2c042766086b3c11a9ceee1924a2b0883c89bb2d4d8372792cfc213fa9241e35694a5f826f5025a485858aa75a63fe52362665f59595d90d183b867
7
+ data.tar.gz: e3355786455ec3222b5fdf97edac2e1ca2c6cfb094afc6148c223ca4454ef9939e6e5ef2138fb4b90e8826573d6953c43536c108b4bfb7d708bcab8b37e30fab
@@ -27,6 +27,7 @@ module FactoryBot
27
27
  # end
28
28
  def let_blueprint(name, inherit: false, &)
29
29
  let(name) { ::FactoryBot::Blueprint.plan(inherit ? super() : nil, ext: self, &) }
30
+ name
30
31
  end
31
32
 
32
33
  # Build objects by <code>build</code> strategy in FactoryBot from a blueprint and declare them using RSpec's
@@ -73,7 +74,7 @@ module FactoryBot
73
74
  def let_blueprint_instantiate(strategy, **map)
74
75
  raise ArgumentError, "Unsupported strategy: #{strategy}" if strategy && !%i[create build].include?(strategy)
75
76
 
76
- map.each do |source, definition|
77
+ map.map do |source, definition|
77
78
  raise TypeError, "source must be a Symbol" unless source.is_a?(Symbol)
78
79
 
79
80
  definition =
@@ -105,6 +106,8 @@ module FactoryBot
105
106
  let(result_name) { __send__(instance)[0] } if result_name
106
107
 
107
108
  item_names.each { |name| let(name) { __send__(instance)[1][name] } }
109
+
110
+ instance
108
111
  end
109
112
  end
110
113
 
@@ -150,6 +153,30 @@ module FactoryBot
150
153
  let_blueprint(source, inherit:, &)
151
154
  let_blueprint_instantiate strategy, source => { result: name, items: }
152
155
  end
156
+
157
+ # <code>let!</code> version of {#let_blueprint}.
158
+ def let_blueprint!(...)
159
+ name = let_blueprint(...)
160
+ before { __send__(name) }
161
+ end
162
+
163
+ # <code>let!</code> version of {#let_blueprint_build}.
164
+ def let_blueprint_build!(...)
165
+ names = let_blueprint_build(...)
166
+ before { names.each { __send__(_1) } }
167
+ end
168
+
169
+ # <code>let!</code> version of {#let_blueprint_create}.
170
+ def let_blueprint_create!(...)
171
+ names = let_blueprint_create(...)
172
+ before { names.each { __send__(_1) } }
173
+ end
174
+
175
+ # <code>let!</code> version of {#letbp}.
176
+ def letbp!(...)
177
+ names = letbp(...)
178
+ before { names.each { __send__(_1) } }
179
+ end
153
180
  end
154
181
  end
155
182
  end
@@ -3,7 +3,7 @@
3
3
  module FactoryBot
4
4
  module Blueprint
5
5
  module RSpec
6
- VERSION = "0.2.0"
6
+ VERSION = "0.3.0"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factory_bot-blueprint-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - yubrot
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-29 00:00:00.000000000 Z
11
+ date: 2024-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: factory_bot-blueprint
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.2.0
19
+ version: 0.3.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.2.0
26
+ version: 0.3.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec-core
29
29
  requirement: !ruby/object:Gem::Requirement