rspec-activemodel-mocks 1.0.2 → 1.0.3

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
  SHA1:
3
- metadata.gz: fe8e05d703a22aa1fc278645068aae3818e01f8f
4
- data.tar.gz: b9d7e9d0353224e2307f90c20e89a78d9656ac87
3
+ metadata.gz: e4aabaf01fc2ce4d1d63258a97eeae886aed9666
4
+ data.tar.gz: 5d6c8954af12f2cc996525f341ecb0ef9bba96a8
5
5
  SHA512:
6
- metadata.gz: 1318ccf14e3acac642963c468e9e6fa768a0ccf74422ce6ec8d5435527d69e6ca981abfac7e1691d771d248b74488d1e66142a6a0d7eed215d1b6459c7e61908
7
- data.tar.gz: b945ac6c0075e1df095388983d08e823ba15518e6f7bcf1d8ae03d3ba4635d49a373d001e85d069ff22d6ea53d68e759ca744a060c51ae440656ab096789172f
6
+ metadata.gz: c93de78dbdf87d1af66ed2a589fe1ceadb3f960a2aeb9fe54f5c6e011a0337f202d7c352f9eca26c82853cc5099193db10be4fb89cff80fd8cab08ac0dec11b3
7
+ data.tar.gz: a307fa11f27e7aa9695aab18356089a8ff9802d69cc6df53a47e32cf3c80f76291e22a6b6041187f610e4343427df0cf948fe9dafaef0ec133e7d8525f9fa68a
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig ADDED
Binary file
@@ -238,7 +238,7 @@ EOM
238
238
  def stub_model(model_class, stubs={})
239
239
  model_class.new.tap do |m|
240
240
  m.extend ActiveModelStubExtensions
241
- if defined?(ActiveRecord) && model_class < ActiveRecord::Base
241
+ if defined?(ActiveRecord) && model_class < ActiveRecord::Base && model_class.primary_key
242
242
  m.extend ActiveRecordStubExtensions
243
243
  primary_key = model_class.primary_key.to_sym
244
244
  stubs = {primary_key => next_id}.merge(stubs)
@@ -2,7 +2,7 @@ module RSpec
2
2
  module ActiveModel
3
3
  module Mocks
4
4
  module Version
5
- STRING = '1.0.2'
5
+ STRING = '1.0.3'
6
6
  end
7
7
  end
8
8
  end
@@ -298,6 +298,13 @@ describe "mock_model(RealModel)" do
298
298
  end
299
299
 
300
300
  context "with as_null_object" do
301
+ around do |example|
302
+ original = RSpec::Mocks.configuration.syntax
303
+ RSpec::Mocks.configuration.syntax = :should
304
+ example.run
305
+ RSpec::Mocks.configuration.syntax = original
306
+ end
307
+
301
308
  it "says it will not respond_to?(xxx_before_type_cast)" do
302
309
  model = NonActiveRecordModel.new.as_null_object
303
310
  expect(model.respond_to?("title_before_type_cast")).to be(false)
@@ -151,4 +151,16 @@ describe "stub_model" do
151
151
  end
152
152
 
153
153
  end
154
+
155
+ context "with an ActiveRecord model with no primary key" do
156
+ let(:model_class) { MockableModelNoPrimaryKey }
157
+
158
+ it "yields the model" do
159
+ model = stub_model(model_class) do |block_arg|
160
+ @block_arg = block_arg
161
+ end
162
+ expect(model).to be(@block_arg)
163
+ end
164
+
165
+ end
154
166
  end
@@ -16,6 +16,23 @@ module Connections
16
16
  end
17
17
  end
18
18
 
19
+ module ConnectionsView
20
+ def self.extended(host)
21
+ host.connection.execute <<-eosql
22
+ CREATE TABLE some_table (
23
+ associated_model_id integer,
24
+ mockable_model_id integer,
25
+ nonexistent_model_id integer
26
+ )
27
+ eosql
28
+
29
+ host.connection.execute <<-eosql
30
+ CREATE VIEW #{host.table_name} AS
31
+ select * from some_table;
32
+ eosql
33
+ end
34
+ end
35
+
19
36
  class NonActiveRecordModel
20
37
  extend ActiveModel::Naming
21
38
  include ActiveModel::Conversion
@@ -26,6 +43,11 @@ class MockableModel < ActiveRecord::Base
26
43
  has_one :associated_model
27
44
  end
28
45
 
46
+ # (e.g. model backed database views)
47
+ class MockableModelNoPrimaryKey < ActiveRecord::Base
48
+ extend ConnectionsView
49
+ end
50
+
29
51
  class SubMockableModel < MockableModel
30
52
  end
31
53
 
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.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Chelimsky
@@ -9,8 +9,43 @@ authors:
9
9
  - Thomas Holmes
10
10
  autorequire:
11
11
  bindir: bin
12
- cert_chain: []
13
- date: 2015-09-22 00:00:00.000000000 Z
12
+ cert_chain:
13
+ - |
14
+ -----BEGIN CERTIFICATE-----
15
+ MIIF1TCCA72gAwIBAgIJAPXjfUbCjdXUMA0GCSqGSIb3DQEBBQUAMIGAMQswCQYD
16
+ VQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEO
17
+ MAwGA1UECgwFUlNwZWMxEzARBgNVBAMMCnJzcGVjLmluZm8xJTAjBgkqhkiG9w0B
18
+ CQEWFnJzcGVjQGdvb2dsZWdyb3Vwcy5jb20wHhcNMTQxMjIzMDkzNTIyWhcNMjQx
19
+ MjIyMDkzNTIyWjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24x
20
+ EDAOBgNVBAcMB1NlYXR0bGUxDjAMBgNVBAoMBVJTcGVjMRMwEQYDVQQDDApyc3Bl
21
+ Yy5pbmZvMSUwIwYJKoZIhvcNAQkBFhZyc3BlY0Bnb29nbGVncm91cHMuY29tMIIC
22
+ IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsSmjgcHaKlD0jizRJowi2bGI
23
+ KMOHnJoExxRNHHxH+3w9kkl95YldvDRVX495b13ZCzwRe0AyqX24wq04tp0G5Z5C
24
+ e/w2pnNK4ol1eECPwQu+YGpepeODlZICL5gwQspe0cDifbBnHx5QySMiPpvx6bC0
25
+ tQTox0ppDIaMhch8IPCwyoE4DQK5bpsdwnLSHTsQjUIb7IM8tUMpd/iKrJgNffwc
26
+ 6gC1TmhIlzQoB26nCNh9uK7xZjUM+sGECzvcYuImchUaIgJA/ybrlZS+m/hxzvBo
27
+ mLnn/xNEC6Vz5HG+3TR0Gb0cSUf6XUu2s51Jk/SJi3MhCZp2gs9OUg4EVZNzQVkZ
28
+ efLBjAZG2Mxk14JyB4/Omc+Jk0ajprINCBbUNnxzCJrYDM3J9TVWIwyUGNX/U3MO
29
+ s3tMAT+EVgx/mZMPnBO8EULlyF51MRUp3Wy9Mnw8AYLk30UnMG5AjqgO5JNyFlA7
30
+ Xeh3EVdWY3vMB1pkhPwlsenpcmj5gOzrd54lELOVbCGHCf48iSqeflY2Lhe0pvzK
31
+ blXCJBDmtrebvus291rM/dHcbEfK1SVd5Wut/n131iouf6dnNCFskFygDcgBbthC
32
+ gpEMqf80lEmhX59VUsm0Pv6OEo+ZPHBvXPiJA6DShQh9t3YtpwyA8uVDMbT/i32u
33
+ 2FUsqZbbJcCmkBrGposCAwEAAaNQME4wHQYDVR0OBBYEFPPvQ5XT0Nvuhi6k+hrW
34
+ Vv35J+TeMB8GA1UdIwQYMBaAFPPvQ5XT0Nvuhi6k+hrWVv35J+TeMAwGA1UdEwQF
35
+ MAMBAf8wDQYJKoZIhvcNAQEFBQADggIBAIqbQSWH2aAF537DKwAMB8nMFsoe24MD
36
+ gtuQAyjTtbH+QBE4N2RdQF/sU7Y3PYR7nqdrCsYc3RxyqM5XXi7I3IYdpfe1RuxY
37
+ +pyPzVQsPPDhMlJlCrwJsADnxlpxZlAgxYSLKOan55ihscaAWA90wqRUrf/ZJM36
38
+ 8LWCPVn5teIt5aaxZWX68RMxa+AXvpbtJOBwXLkIFk3apD8CX4DhelIdw67DbkUe
39
+ ghUd/u62qrnqBTVgditt7OoWIZjzh24/Fda5d0MxZyvLILGOrf5bN4cTbe/q9Cid
40
+ Xrik7Upm+mu3y3yQIfrw85xybHq6iNXyYHvCdSrFfCIKrGpd/0CAdmYnJlx59Fk/
41
+ UbD3Eyx4psBSkU+WKO0Uf+3zNI7N/nVeNIwU/Ft+l8l7/K+427656c+ZGWDO0Gt/
42
+ BeEOSTDKP7qQ1T+JvMrBcBQo+i0cnRT10J1aoV90BhxsvWTRizIbugbaqR6Tq3bj
43
+ Akt00cIlNSplL6DenIAKSh5kF7s0tRD0tC3bNkZmNjNGkdoGEcUODEpTB3RHKKiu
44
+ e6k2Jg6m00z5vGFQhOnROG/QaUzMA3A3mFBe1RHFo07xd0pFeoeWL3vF69Gx9Jwp
45
+ ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ
46
+ F3MdtaDehhjC
47
+ -----END CERTIFICATE-----
48
+ date: 2016-01-28 00:00:00.000000000 Z
14
49
  dependencies:
15
50
  - !ruby/object:Gem::Dependency
16
51
  name: activesupport
@@ -178,10 +213,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
213
  version: '0'
179
214
  requirements: []
180
215
  rubyforge_project:
181
- rubygems_version: 2.2.2
216
+ rubygems_version: 2.5.1
182
217
  signing_key:
183
218
  specification_version: 4
184
- summary: rspec-activemodel-mocks-1.0.2
219
+ summary: rspec-activemodel-mocks-1.0.3
185
220
  test_files:
186
221
  - features/mocks/mock_model.feature
187
222
  - features/mocks/stub_model.feature
metadata.gz.sig ADDED
Binary file