rspec_jsonapi_serializer 1.0.0 → 1.0.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 +4 -4
- data/lib/rspec_jsonapi_serializer/matchers/association_matcher.rb +8 -2
- data/lib/rspec_jsonapi_serializer/matchers/base.rb +2 -22
- data/lib/rspec_jsonapi_serializer/matchers/belong_to_matcher.rb +6 -2
- data/lib/rspec_jsonapi_serializer/matchers/have_attribute_matcher.rb +22 -4
- data/lib/rspec_jsonapi_serializer/matchers/have_attribute_matchers/as_matcher.rb +15 -5
- data/lib/rspec_jsonapi_serializer/matchers/have_id_matcher.rb +1 -1
- data/lib/rspec_jsonapi_serializer/matchers/have_link_matcher.rb +22 -4
- data/lib/rspec_jsonapi_serializer/matchers/have_link_matchers/as_matcher.rb +15 -5
- data/lib/rspec_jsonapi_serializer/matchers/have_many_matcher.rb +6 -2
- data/lib/rspec_jsonapi_serializer/matchers/have_meta_matcher.rb +22 -4
- data/lib/rspec_jsonapi_serializer/matchers/have_meta_matchers/as_matcher.rb +15 -4
- data/lib/rspec_jsonapi_serializer/matchers/have_one_matcher.rb +6 -2
- data/lib/rspec_jsonapi_serializer/matchers/have_type_matcher.rb +1 -1
- data/lib/rspec_jsonapi_serializer/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c575d046628ade51e83238d8bc7179eea00ee9bc1cedde252fda0c8b98fa2269
|
4
|
+
data.tar.gz: 30d857690790f7cc807ac6e432e1103ef646e140f085a7c5c09c8b6d3b75b1c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1303aa1426102b7f26ebc5d4abc0fbfb0a9f712e9b231e05e5a43e6e70900d3f8a1e22731db6d00f701bcbf7c024117a7c2f22fed4530403e069682f2826556
|
7
|
+
data.tar.gz: 52b6d4c3dd1e2214e4275105195c028b35dfbb4b599754c23b6d65fe9c6b6cfb86e6ecc2a2bca35b5319d4b507b1c909171513dd0e5c427ea100cfb27429d261
|
@@ -19,7 +19,13 @@ module RSpecJSONAPISerializer
|
|
19
19
|
.has_key?(expected)
|
20
20
|
end
|
21
21
|
|
22
|
-
def
|
22
|
+
def description
|
23
|
+
description = "#{association_message} #{expected}"
|
24
|
+
|
25
|
+
[description, submatchers.map(&:description)].flatten.join(' ')
|
26
|
+
end
|
27
|
+
|
28
|
+
def failure_message
|
23
29
|
[expected_message, actual_message].compact.join(", ")
|
24
30
|
end
|
25
31
|
|
@@ -36,7 +42,7 @@ module RSpecJSONAPISerializer
|
|
36
42
|
end
|
37
43
|
|
38
44
|
def association_message
|
39
|
-
relationship_matcher.to_s.split(
|
45
|
+
relationship_matcher.to_s.split("_").join(" ")
|
40
46
|
end
|
41
47
|
|
42
48
|
def actual
|
@@ -13,27 +13,17 @@ module RSpecJSONAPISerializer
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def failure_message
|
16
|
-
|
16
|
+
raise NotImplementedError
|
17
17
|
end
|
18
18
|
|
19
19
|
def failure_message_when_negated
|
20
|
-
|
21
|
-
.compact
|
22
|
-
.join("\n")
|
20
|
+
raise NotImplementedError
|
23
21
|
end
|
24
22
|
|
25
23
|
protected
|
26
24
|
|
27
25
|
attr_reader :expected, :serializer_instance, :submatchers
|
28
26
|
|
29
|
-
def main_failure_message
|
30
|
-
raise NotImplementedError
|
31
|
-
end
|
32
|
-
|
33
|
-
def main_failure_message_when_negated
|
34
|
-
raise NotImplementedError
|
35
|
-
end
|
36
|
-
|
37
27
|
def add_submatcher(submatcher)
|
38
28
|
submatchers << submatcher
|
39
29
|
end
|
@@ -50,16 +40,6 @@ module RSpecJSONAPISerializer
|
|
50
40
|
serializer_instance.class.name
|
51
41
|
end
|
52
42
|
|
53
|
-
private
|
54
|
-
|
55
|
-
def submatcher_failure_messages
|
56
|
-
failing_submatchers.map(&:failure_message)
|
57
|
-
end
|
58
|
-
|
59
|
-
def submatcher_failure_messages_when_negated
|
60
|
-
failing_submatchers.map(&:failure_message_when_negated)
|
61
|
-
end
|
62
|
-
|
63
43
|
def failing_submatchers
|
64
44
|
@failing_submatchers ||= submatchers.select do |submatcher|
|
65
45
|
!submatcher.matches?(serializer_instance)
|
@@ -13,8 +13,12 @@ module RSpecJSONAPISerializer
|
|
13
13
|
association_matcher.matches?(serializer_instance)
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
17
|
-
association_matcher.
|
16
|
+
def description
|
17
|
+
association_matcher.description
|
18
|
+
end
|
19
|
+
|
20
|
+
def failure_message
|
21
|
+
association_matcher.failure_message
|
18
22
|
end
|
19
23
|
|
20
24
|
private
|
@@ -19,17 +19,35 @@ module RSpecJSONAPISerializer
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def as_nil
|
22
|
-
|
22
|
+
as(nil)
|
23
|
+
end
|
23
24
|
|
24
|
-
|
25
|
+
def description
|
26
|
+
description = "have attribute #{expected}"
|
27
|
+
|
28
|
+
[description, submatchers.map(&:description)].flatten.join(' ')
|
29
|
+
end
|
30
|
+
|
31
|
+
def failure_message
|
32
|
+
"Expected #{expectation}."
|
25
33
|
end
|
26
34
|
|
27
|
-
def
|
28
|
-
"
|
35
|
+
def failure_message_when_negated
|
36
|
+
"Did not expect #{expectation}."
|
29
37
|
end
|
30
38
|
|
31
39
|
private
|
32
40
|
|
41
|
+
def expectation
|
42
|
+
expectation = "#{serializer_name} to have attribute #{expected}"
|
43
|
+
|
44
|
+
submatchers_expectations = failing_submatchers.map do |submatcher|
|
45
|
+
"(#{submatcher.expectation})"
|
46
|
+
end.compact.join(", ")
|
47
|
+
|
48
|
+
[expectation, submatchers_expectations].reject(&:nil?).reject(&:empty?).join(" ")
|
49
|
+
end
|
50
|
+
|
33
51
|
def attributes
|
34
52
|
@attributes ||= serializer_instance.class.try(:attributes_to_serialize) || {}
|
35
53
|
end
|
@@ -18,20 +18,30 @@ module RSpecJSONAPISerializer
|
|
18
18
|
actual == expected
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
22
|
-
|
21
|
+
def description
|
22
|
+
"as #{expected_to_string}"
|
23
|
+
end
|
24
|
+
|
25
|
+
def expectation
|
26
|
+
[ "as #{expected_to_string}", actual_message ].compact.join(", ")
|
23
27
|
end
|
24
28
|
|
25
29
|
private
|
26
30
|
|
27
31
|
attr_reader :attribute
|
28
32
|
|
29
|
-
def
|
30
|
-
|
33
|
+
def expected_to_string
|
34
|
+
value_to_string(expected)
|
31
35
|
end
|
32
36
|
|
33
37
|
def actual_message
|
34
|
-
"got #{actual
|
38
|
+
"got #{value_to_string(actual)} instead" if attributes.has_key?(attribute)
|
39
|
+
end
|
40
|
+
|
41
|
+
def value_to_string(value)
|
42
|
+
return 'nil' if value.nil?
|
43
|
+
|
44
|
+
value.to_s
|
35
45
|
end
|
36
46
|
|
37
47
|
def actual
|
@@ -19,17 +19,35 @@ module RSpecJSONAPISerializer
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def as_nil
|
22
|
-
|
22
|
+
as(nil)
|
23
|
+
end
|
23
24
|
|
24
|
-
|
25
|
+
def description
|
26
|
+
description = "have link #{expected}"
|
27
|
+
|
28
|
+
[description, submatchers.map(&:description)].flatten.join(' ')
|
29
|
+
end
|
30
|
+
|
31
|
+
def failure_message
|
32
|
+
"Expected #{expectation}."
|
25
33
|
end
|
26
34
|
|
27
|
-
def
|
28
|
-
"
|
35
|
+
def failure_message_when_negated
|
36
|
+
"Did not expect #{expectation}."
|
29
37
|
end
|
30
38
|
|
31
39
|
private
|
32
40
|
|
41
|
+
def expectation
|
42
|
+
expectation = "#{serializer_name} to have link #{expected}"
|
43
|
+
|
44
|
+
submatchers_expectations = failing_submatchers.map do |submatcher|
|
45
|
+
"(#{submatcher.expectation})"
|
46
|
+
end.compact.join(", ")
|
47
|
+
|
48
|
+
[expectation, submatchers_expectations].reject(&:nil?).reject(&:empty?).join(" ")
|
49
|
+
end
|
50
|
+
|
33
51
|
def has_link?
|
34
52
|
links.has_key?(expected)
|
35
53
|
end
|
@@ -18,20 +18,30 @@ module RSpecJSONAPISerializer
|
|
18
18
|
actual == expected
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
22
|
-
|
21
|
+
def description
|
22
|
+
"as #{expected_to_string}"
|
23
|
+
end
|
24
|
+
|
25
|
+
def expectation
|
26
|
+
[ "as #{expected_to_string}", actual_message ].compact.join(", ")
|
23
27
|
end
|
24
28
|
|
25
29
|
private
|
26
30
|
|
27
31
|
attr_reader :link
|
28
32
|
|
29
|
-
def
|
30
|
-
|
33
|
+
def expected_to_string
|
34
|
+
value_to_string(expected)
|
31
35
|
end
|
32
36
|
|
33
37
|
def actual_message
|
34
|
-
"got #{actual
|
38
|
+
"got #{value_to_string(actual)} instead" if links.has_key?(link)
|
39
|
+
end
|
40
|
+
|
41
|
+
def value_to_string(value)
|
42
|
+
return 'nil' if value.nil?
|
43
|
+
|
44
|
+
value.to_s
|
35
45
|
end
|
36
46
|
|
37
47
|
def actual
|
@@ -13,8 +13,12 @@ module RSpecJSONAPISerializer
|
|
13
13
|
association_matcher.matches?(serializer_instance)
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
17
|
-
association_matcher.
|
16
|
+
def description
|
17
|
+
association_matcher.description
|
18
|
+
end
|
19
|
+
|
20
|
+
def failure_message
|
21
|
+
association_matcher.failure_message
|
18
22
|
end
|
19
23
|
|
20
24
|
private
|
@@ -19,17 +19,35 @@ module RSpecJSONAPISerializer
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def as_nil
|
22
|
-
|
22
|
+
as(nil)
|
23
|
+
end
|
23
24
|
|
24
|
-
|
25
|
+
def description
|
26
|
+
description = "serialize meta #{expected}"
|
27
|
+
|
28
|
+
[description, submatchers.map(&:description)].flatten.join(' ')
|
29
|
+
end
|
30
|
+
|
31
|
+
def failure_message
|
32
|
+
"Expected #{expectation}."
|
25
33
|
end
|
26
34
|
|
27
|
-
def
|
28
|
-
"
|
35
|
+
def failure_message_when_negated
|
36
|
+
"Did not expect #{expectation}."
|
29
37
|
end
|
30
38
|
|
31
39
|
private
|
32
40
|
|
41
|
+
def expectation
|
42
|
+
expectation = "#{serializer_name} to serialize meta #{expected}"
|
43
|
+
|
44
|
+
submatchers_expectations = failing_submatchers.map do |submatcher|
|
45
|
+
"(#{submatcher.expectation})"
|
46
|
+
end.compact.join(", ")
|
47
|
+
|
48
|
+
[expectation, submatchers_expectations].reject(&:nil?).reject(&:empty?).join(" ")
|
49
|
+
end
|
50
|
+
|
33
51
|
def metas
|
34
52
|
@metas ||= serializable_hash.dig(:data, :meta) || {}
|
35
53
|
end
|
@@ -18,22 +18,33 @@ module RSpecJSONAPISerializer
|
|
18
18
|
actual == expected
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
22
|
-
|
21
|
+
def description
|
22
|
+
"as #{expected_to_string}"
|
23
|
+
end
|
24
|
+
|
25
|
+
def expectation
|
26
|
+
[ "as #{expected_to_string}", actual_message ].compact.join(", ")
|
23
27
|
end
|
24
28
|
|
25
29
|
private
|
26
30
|
|
27
31
|
attr_reader :meta
|
28
32
|
|
29
|
-
def
|
30
|
-
|
33
|
+
def expected_to_string
|
34
|
+
value_to_string(expected)
|
31
35
|
end
|
32
36
|
|
33
37
|
def actual_message
|
34
38
|
"got #{actual.nil? ? 'nil' : actual} instead" if metas.has_key?(meta)
|
35
39
|
end
|
36
40
|
|
41
|
+
def value_to_string(value)
|
42
|
+
return 'nil' if value.nil?
|
43
|
+
|
44
|
+
value.to_s
|
45
|
+
end
|
46
|
+
|
47
|
+
|
37
48
|
def actual
|
38
49
|
metas[meta]
|
39
50
|
end
|
@@ -13,8 +13,12 @@ module RSpecJSONAPISerializer
|
|
13
13
|
association_matcher.matches?(serializer_instance)
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
17
|
-
association_matcher.
|
16
|
+
def description
|
17
|
+
association_matcher.description
|
18
|
+
end
|
19
|
+
|
20
|
+
def failure_message
|
21
|
+
association_matcher.failure_message
|
18
22
|
end
|
19
23
|
|
20
24
|
private
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec_jsonapi_serializer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mateus Cruz
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jsonapi-serializer
|
@@ -24,7 +24,7 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '2.0'
|
27
|
-
description:
|
27
|
+
description:
|
28
28
|
email:
|
29
29
|
- mateus@intricately.com
|
30
30
|
executables: []
|
@@ -54,7 +54,7 @@ metadata:
|
|
54
54
|
homepage_uri: https://github.com/teamintricately/rspec_jsonapi_serializer
|
55
55
|
source_code_uri: https://github.com/teamintricately/rspec_jsonapi_serializer
|
56
56
|
changelog_uri: https://github.com/teamintricately/rspec_jsonapi_serializer/blob/main/CHANGELOG.md
|
57
|
-
post_install_message:
|
57
|
+
post_install_message:
|
58
58
|
rdoc_options: []
|
59
59
|
require_paths:
|
60
60
|
- lib
|
@@ -69,8 +69,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: '0'
|
71
71
|
requirements: []
|
72
|
-
rubygems_version: 3.
|
73
|
-
signing_key:
|
72
|
+
rubygems_version: 3.3.7
|
73
|
+
signing_key:
|
74
74
|
specification_version: 4
|
75
75
|
summary: RSpec matchers for jsonapi-serializer.
|
76
76
|
test_files: []
|