rspec-activemodel-mocks 1.2.1 → 1.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/rspec/active_model/mocks/mocks.rb +8 -1
- data/lib/rspec/active_model/mocks/version.rb +1 -1
- data/spec/rspec/active_model/mocks/mock_model_spec.rb +40 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/support/ar_classes.rb +3 -0
- data.tar.gz.sig +0 -0
- metadata +20 -24
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a94dd2b6d61f1431637636ffc999a67abdd92e70d51de9daea7844fb4e706c7d
|
4
|
+
data.tar.gz: 6f5ee85b061eec9923b3d29c9256b3a0ad0eb38e6cc5b5b23c04ac2f51c849ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 209174dc5f015e1b1b9b80061659875032802ee616365534381df1c9bf7d7abdaa1c0a6aaba58499ab957216d270b8aae2e7efaf5e8e9a6ab6251724f41fb191
|
7
|
+
data.tar.gz: 59637b95cc2ba2fc1fc303b4df514a979e6945d8b0cfdfc120db91153b245aba6048e14b87415f79c75a79faba08086fe3b25f7ec74b10bda9ecb7fdb9fbd3c6
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -61,6 +61,9 @@ module RSpec::ActiveModel::Mocks
|
|
61
61
|
# alternative to record['id']
|
62
62
|
alias_method :_read_attribute, :[]
|
63
63
|
|
64
|
+
# Rails>7.1 added read_attribute for external usage similar to record['id']
|
65
|
+
alias_method :read_attribute, :[]
|
66
|
+
|
64
67
|
# Returns the opposite of `persisted?`
|
65
68
|
def new_record?
|
66
69
|
!persisted?
|
@@ -103,6 +106,7 @@ module RSpec::ActiveModel::Mocks
|
|
103
106
|
model_class = Object.const_set(string_or_model_class, Class.new do
|
104
107
|
# rubocop:disable Style/SingleLineMethods
|
105
108
|
extend ::ActiveModel::Naming
|
109
|
+
|
106
110
|
def self.primary_key; :id; end
|
107
111
|
|
108
112
|
# For detection of being a valid association in 7+
|
@@ -176,8 +180,11 @@ It received #{model_class.inspect}
|
|
176
180
|
end unless stubs.key?(:has_attribute?)
|
177
181
|
|
178
182
|
msingleton.__send__(:define_method, :respond_to?) do |method_name, *args|
|
183
|
+
return true if __model_class_has_column?(method_name)
|
184
|
+
|
179
185
|
include_private = args.first || false
|
180
|
-
|
186
|
+
|
187
|
+
super(method_name, include_private)
|
181
188
|
end unless stubs.key?(:respond_to?)
|
182
189
|
|
183
190
|
msingleton.__send__(:define_method, :method_missing) do |missing_m, *a, &b|
|
@@ -482,6 +482,44 @@ describe "mock_model(RealModel)" do
|
|
482
482
|
end
|
483
483
|
end
|
484
484
|
|
485
|
+
describe "attribute access methods" do
|
486
|
+
it "supports [] method with symbol" do
|
487
|
+
model = mock_model(MockableModel, :name => "John", :age => 25)
|
488
|
+
expect(model[:name]).to eq("John")
|
489
|
+
expect(model[:age]).to eq(25)
|
490
|
+
end
|
491
|
+
|
492
|
+
it "supports [] method with string" do
|
493
|
+
model = mock_model(MockableModel, :name => "John", :age => 25)
|
494
|
+
expect(model["name"]).to eq("John")
|
495
|
+
expect(model["age"]).to eq(25)
|
496
|
+
end
|
497
|
+
|
498
|
+
it "supports read_attribute method with symbol" do
|
499
|
+
model = mock_model(MockableModel, :name => "John", :age => 25)
|
500
|
+
expect(model.read_attribute(:name)).to eq("John")
|
501
|
+
expect(model.read_attribute(:age)).to eq(25)
|
502
|
+
end
|
503
|
+
|
504
|
+
it "supports read_attribute method with string" do
|
505
|
+
model = mock_model(MockableModel, :name => "John", :age => 25)
|
506
|
+
expect(model.read_attribute("name")).to eq("John")
|
507
|
+
expect(model.read_attribute("age")).to eq(25)
|
508
|
+
end
|
509
|
+
|
510
|
+
it "supports _read_attribute method with symbol" do
|
511
|
+
model = mock_model(MockableModel, :name => "John", :age => 25)
|
512
|
+
expect(model._read_attribute(:name)).to eq("John")
|
513
|
+
expect(model._read_attribute(:age)).to eq(25)
|
514
|
+
end
|
515
|
+
|
516
|
+
it "supports _read_attribute method with string" do
|
517
|
+
model = mock_model(MockableModel, :name => "John", :age => 25)
|
518
|
+
expect(model._read_attribute("name")).to eq("John")
|
519
|
+
expect(model._read_attribute("age")).to eq(25)
|
520
|
+
end
|
521
|
+
end
|
522
|
+
|
485
523
|
describe "ActiveModel Lint tests" do
|
486
524
|
# rubocop:disable Lint/EmptyExpression,Metrics/BlockNesting
|
487
525
|
begin
|
@@ -519,6 +557,7 @@ describe "mock_model(RealModel)" do
|
|
519
557
|
ERR
|
520
558
|
end
|
521
559
|
include Test::Unit::Assertions
|
560
|
+
|
522
561
|
if defined?((Test::Unit::AutoRunner.need_auto_run = ()))
|
523
562
|
Test::Unit::AutoRunner.need_auto_run = false
|
524
563
|
elsif defined?((Test::Unit.run = ()))
|
@@ -532,6 +571,7 @@ describe "mock_model(RealModel)" do
|
|
532
571
|
else
|
533
572
|
require 'test/unit/assertions'
|
534
573
|
include Test::Unit::Assertions
|
574
|
+
|
535
575
|
if defined?((Test::Unit::AutoRunner.need_auto_run = ()))
|
536
576
|
Test::Unit::AutoRunner.need_auto_run = false
|
537
577
|
elsif defined?((Test::Unit.run = ()))
|
data/spec/spec_helper.rb
CHANGED
data/spec/support/ar_classes.rb
CHANGED
@@ -41,6 +41,7 @@ end
|
|
41
41
|
|
42
42
|
class MockableModel < ActiveRecord::Base
|
43
43
|
extend Connections
|
44
|
+
|
44
45
|
has_one :associated_model
|
45
46
|
end
|
46
47
|
|
@@ -54,6 +55,7 @@ end
|
|
54
55
|
|
55
56
|
class AssociatedModel < ActiveRecord::Base
|
56
57
|
extend Connections
|
58
|
+
|
57
59
|
belongs_to :mockable_model
|
58
60
|
belongs_to :nonexistent_model, :class_name => "Other"
|
59
61
|
end
|
@@ -61,5 +63,6 @@ end
|
|
61
63
|
class AlternatePrimaryKeyModel < ActiveRecord::Base
|
62
64
|
self.primary_key = :my_id
|
63
65
|
extend Connections
|
66
|
+
|
64
67
|
attr_accessor :my_id
|
65
68
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,22 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-activemodel-mocks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Chelimsky
|
8
8
|
- Andy Lindeman
|
9
9
|
- Thomas Holmes
|
10
|
-
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain:
|
13
12
|
- |
|
14
13
|
-----BEGIN CERTIFICATE-----
|
15
|
-
|
14
|
+
MIIFvjCCA6agAwIBAgIJAPXjfUbCjdXVMA0GCSqGSIb3DQEBCwUAMIGAMQswCQYD
|
16
15
|
VQQGEwJVUzETMBEGA1UECAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEO
|
17
16
|
MAwGA1UECgwFUlNwZWMxEzARBgNVBAMMCnJzcGVjLmluZm8xJTAjBgkqhkiG9w0B
|
18
|
-
|
19
|
-
|
17
|
+
CQEWFnJzcGVjQGdvb2dsZWdyb3Vwcy5jb20wHhcNMjUwMjA2MTE0NjU2WhcNMjYw
|
18
|
+
MjA2MTE0NjU2WjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24x
|
20
19
|
EDAOBgNVBAcMB1NlYXR0bGUxDjAMBgNVBAoMBVJTcGVjMRMwEQYDVQQDDApyc3Bl
|
21
20
|
Yy5pbmZvMSUwIwYJKoZIhvcNAQkBFhZyc3BlY0Bnb29nbGVncm91cHMuY29tMIIC
|
22
21
|
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsSmjgcHaKlD0jizRJowi2bGI
|
@@ -30,22 +29,21 @@ cert_chain:
|
|
30
29
|
Xeh3EVdWY3vMB1pkhPwlsenpcmj5gOzrd54lELOVbCGHCf48iSqeflY2Lhe0pvzK
|
31
30
|
blXCJBDmtrebvus291rM/dHcbEfK1SVd5Wut/n131iouf6dnNCFskFygDcgBbthC
|
32
31
|
gpEMqf80lEmhX59VUsm0Pv6OEo+ZPHBvXPiJA6DShQh9t3YtpwyA8uVDMbT/i32u
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
+
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
F3MdtaDehhjC
|
32
|
+
2FUsqZbbJcCmkBrGposCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
33
|
+
HQYDVR0OBBYEFPPvQ5XT0Nvuhi6k+hrWVv35J+TeMA0GCSqGSIb3DQEBCwUAA4IC
|
34
|
+
AQBGBr0ll2yLrkO6IeK5Q7qZFnANaUCKfi6Of9VztZJXgKAU5KAQxyOidGktoA5N
|
35
|
+
lp+bFKudRkW8jSehqoNaNBdSZ9Bc07EGMXIhUFJZF9rq7Z2SKPwUm6EaSsBK13QR
|
36
|
+
U4K6wuaw5ZJSFzklapoGOJRGnFlnNtlhNFY6+tTwCeblwZbcuYGyGY8+Rg7GbyVl
|
37
|
+
3Tr4Gi1aS/qG/MDXKdE8HWm39dmaAMdbw6dg1VBd0JrX2VqH7xvE1dM/D3OlKrNp
|
38
|
+
gNFRNJig3Y8qPjocZR0cGkhgZoC9wribWxHSNawZm4CoV3fja2HNx9QyM7BaB+as
|
39
|
+
yuqAiBbA7vBcyc8nKATip3mxbyXYXoDD7nmO8JCPP7O/WsgG+U/B2a0kPdvYFoxE
|
40
|
+
Q0Js3GtFCuMvL+0rifqdxBOLtu0Pw9q4RvToTJIl2IR6eTgCb82B1hw9qKf7PjuL
|
41
|
+
BoEsYjjDhGw6FZvcJG8O6uj7aB+z4aF21YR74UGL7sq/RIPNNez5JI95jTGfqCPy
|
42
|
+
6yo0w3zja3yg28QK3Fj+tbOHeSLv9SDQWi/1jiPprGzbxGvbVvjvX11YZc46vkmY
|
43
|
+
AwP+qZPPf97FXXZGEGIYhhHpnj+Ltx9nCetRPiZ4rvYBcXgCWVQSg6eiEofrMwn/
|
44
|
+
AKMCABhZ1Y2eATsfMgdkmIZk7JIPZiSi6eUxPiCMP9M/pw==
|
47
45
|
-----END CERTIFICATE-----
|
48
|
-
date:
|
46
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
49
47
|
dependencies:
|
50
48
|
- !ruby/object:Gem::Dependency
|
51
49
|
name: activemodel
|
@@ -130,7 +128,6 @@ metadata:
|
|
130
128
|
mailing_list_uri: https://groups.google.com/forum/#!forum/rspec
|
131
129
|
source_code_uri: https://github.com/rspec/rspec-activemodel-mocks
|
132
130
|
rubygems_mfa_required: 'true'
|
133
|
-
post_install_message:
|
134
131
|
rdoc_options:
|
135
132
|
- "--charset=UTF-8"
|
136
133
|
require_paths:
|
@@ -146,10 +143,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
146
143
|
- !ruby/object:Gem::Version
|
147
144
|
version: '0'
|
148
145
|
requirements: []
|
149
|
-
rubygems_version: 3.
|
150
|
-
signing_key:
|
146
|
+
rubygems_version: 3.6.7
|
151
147
|
specification_version: 4
|
152
|
-
summary: rspec-activemodel-mocks-1.
|
148
|
+
summary: rspec-activemodel-mocks-1.3.0
|
153
149
|
test_files:
|
154
150
|
- features/mocks/mock_model.feature
|
155
151
|
- features/mocks/stub_model.feature
|
metadata.gz.sig
CHANGED
Binary file
|