rspec-activemodel-mocks 1.2.0 → 1.2.1

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: 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