rspec-activemodel-mocks 1.2.0 → 1.2.1

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: 7c03088fe7611777d052655997f79e7394142634a18c47f12ef2b62d21c1225d
4
- data.tar.gz: 59d467700bd06b7246d40282f73bf9f374574c951455f3400e7ec47e3e0dedc5
3
+ metadata.gz: 59ec608e6f9b0a1ee5477ed48c3d2750ad76600d4bae9f79d25c9a4780da6024
4
+ data.tar.gz: 727ef3cc5f9cc8944e15ef79d9f43639b9e059ba4ac6c8a8eb6402722a5a4710
5
5
  SHA512:
6
- metadata.gz: 19ddf1bdf625c89ae9908c504af7ba69204d9e07dcaffddf7baafc4401fcd5b90a1c0e9b747b63be4bf05e10017976dd63a9c3c435626344469a05542d401282
7
- data.tar.gz: fddd4cf43f973358d3b04762aaedebcc629a7e714bbcf0e82f13f875e6fb6f5c3eb2bf4b328c7227ea55c1b03e12e047420b92463277e47e5a284f551eabfad6
6
+ metadata.gz: 545c2feb61438959b3c24a5197537a88951332d4c2e197a9ae0a95028aa014940c84a132d0a2382670d341ce57084736c42bb096859b8a8f70750a3d489f5c4d
7
+ data.tar.gz: 56ee248bda2bc142e0fb391f3f21130a1632c63047896d3377243885ea97689c8b9ec612319cf087015678078297f5973aef07642d90d87728e692216ef5124d
checksums.yaml.gz.sig CHANGED
Binary file
@@ -94,6 +94,8 @@ module RSpec::ActiveModel::Mocks
94
94
  # * A String representing a Class that extends ActiveModel::Naming
95
95
  # * A Class that extends ActiveModel::Naming
96
96
  def mock_model(string_or_model_class, stubs={})
97
+ @__rspec_active_model_mocks ||= Hash.new { |h, k| h[k] = [] }
98
+
97
99
  if String === string_or_model_class
98
100
  if Object.const_defined?(string_or_model_class)
99
101
  model_class = Object.const_get(string_or_model_class)
@@ -137,9 +139,10 @@ It received #{model_class.inspect}
137
139
  double("#{model_class.name}_#{stubs[:id]}", stubs).tap do |m|
138
140
  if model_class.method(:===).owner == Module && !stubs.key?(:===)
139
141
  allow(model_class).to receive(:===).and_wrap_original do |original, other|
140
- m === other || original.call(other)
142
+ @__rspec_active_model_mocks[model_class].include?(other) || original.call(other)
141
143
  end
142
144
  end
145
+ @__rspec_active_model_mocks[model_class] << m
143
146
  msingleton = class << m; self; end
144
147
  msingleton.class_eval do
145
148
  include ActiveModelInstanceMethods
@@ -3,7 +3,7 @@ module RSpec
3
3
  module ActiveModel
4
4
  module Mocks
5
5
  module Version
6
- STRING = '1.2.0'
6
+ STRING = '1.2.1'
7
7
  end
8
8
  end
9
9
  end
@@ -209,6 +209,19 @@ describe "mock_model(RealModel)" do
209
209
  end
210
210
  # rubocop:enable Lint/LiteralAsCondition
211
211
  end
212
+
213
+ it "works for multiple mocks of the same model" do
214
+ foo = mock_model(MockableModel)
215
+ bar = mock_model(MockableModel)
216
+ baz = mock_model(MockableModelNoPrimaryKey)
217
+ quz = mock_model(MockableModel)
218
+
219
+ expect(MockableModel === foo).to be(true)
220
+ expect(MockableModel === bar).to be(true)
221
+ expect(MockableModel === baz).to be(false)
222
+ expect(MockableModelNoPrimaryKey === baz).to be(true)
223
+ expect(MockableModel === quz).to be(true)
224
+ end
212
225
  end
213
226
 
214
227
  describe "#kind_of?" do
@@ -181,5 +181,18 @@ describe "stub_model" do
181
181
  end
182
182
  # rubocop:enable Lint/LiteralAsCondition
183
183
  end
184
+
185
+ it "works for multiple mocks of the same model" do
186
+ foo = stub_model(MockableModel)
187
+ bar = stub_model(MockableModel)
188
+ baz = stub_model(MockableModelNoPrimaryKey)
189
+ qux = stub_model(MockableModel)
190
+
191
+ expect(MockableModel === foo).to be(true)
192
+ expect(MockableModel === bar).to be(true)
193
+ expect(MockableModel === baz).to be(false)
194
+ expect(MockableModelNoPrimaryKey === baz).to be(true)
195
+ expect(MockableModel === qux).to be(true)
196
+ end
184
197
  end
185
198
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-activemodel-mocks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chelimsky
@@ -45,7 +45,7 @@ cert_chain:
45
45
  ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
46
46
  F3MdtaDehhjC
47
47
  -----END CERTIFICATE-----
48
- date: 2023-12-10 00:00:00.000000000 Z
48
+ date: 2024-10-02 00:00:00.000000000 Z
49
49
  dependencies:
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: activemodel
@@ -146,10 +146,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  - !ruby/object:Gem::Version
147
147
  version: '0'
148
148
  requirements: []
149
- rubygems_version: 3.4.10
149
+ rubygems_version: 3.5.16
150
150
  signing_key:
151
151
  specification_version: 4
152
- summary: rspec-activemodel-mocks-1.2.0
152
+ summary: rspec-activemodel-mocks-1.2.1
153
153
  test_files:
154
154
  - features/mocks/mock_model.feature
155
155
  - features/mocks/stub_model.feature
metadata.gz.sig CHANGED
Binary file