rspec_jsonapi_serializer 1.3.0 → 1.3.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 +25 -9
- data/lib/rspec_jsonapi_serializer/matchers/association_matchers/id_method_name_matcher.rb +7 -7
- data/lib/rspec_jsonapi_serializer/matchers/association_matchers/object_method_name_matcher.rb +6 -6
- data/lib/rspec_jsonapi_serializer/matchers/association_matchers/serializer_matcher.rb +6 -6
- data/lib/rspec_jsonapi_serializer/matchers/base.rb +2 -22
- data/lib/rspec_jsonapi_serializer/matchers/belong_to_matcher.rb +10 -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 +10 -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 +10 -2
- data/lib/rspec_jsonapi_serializer/matchers/have_type_matcher.rb +1 -1
- data/lib/rspec_jsonapi_serializer/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3617cae7caacd8695894c6395f675128d6bca1c995b66a2c5710e2f30de821d5
|
4
|
+
data.tar.gz: f8a012ed9e4e291dfdafeded91f460ce1273c64bdf0e6fc18b7c3aa56c7dc6e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4464405e91954ab43d68dbc886e8c8ab13f646ebad343ec95879ace14ef4a4b42515f7f9b8d035b84d4b0bd92be4b297188427f647d626e18afb101353cc3cfb
|
7
|
+
data.tar.gz: 6b071952ee12ad8621d8724d606c9e19b3ff049104f3b8d83b72dddd29055dfcc4276661f7f914763ee3d6c28632bcf3d71138af556d41a8228b187e07f294da
|
@@ -40,28 +40,44 @@ module RSpecJSONAPISerializer
|
|
40
40
|
self
|
41
41
|
end
|
42
42
|
|
43
|
-
def
|
44
|
-
|
43
|
+
def description
|
44
|
+
description = "#{association_message} #{expected}"
|
45
|
+
|
46
|
+
[description, submatchers.map(&:description)].flatten.join(' ')
|
47
|
+
end
|
48
|
+
|
49
|
+
def failure_message
|
50
|
+
"Expected #{expectation}"
|
51
|
+
end
|
52
|
+
|
53
|
+
def failure_message_when_negated
|
54
|
+
"Did not expect #{expectation}"
|
45
55
|
end
|
46
56
|
|
47
57
|
private
|
48
58
|
|
49
59
|
attr_reader :relationship_matcher, :relationship_type
|
50
60
|
|
51
|
-
def
|
52
|
-
"
|
61
|
+
def expectation
|
62
|
+
expectation = "#{serializer_name} to #{association_message} #{expected}"
|
63
|
+
|
64
|
+
submatchers_expectations = failing_submatchers.map do |submatcher|
|
65
|
+
"(#{submatcher.expectation})"
|
66
|
+
end.compact.join(", ")
|
67
|
+
|
68
|
+
[expectation, submatchers_expectations].reject(&:nil?).reject(&:empty?).join(" ")
|
53
69
|
end
|
54
70
|
|
55
71
|
def relationship_matches?
|
56
|
-
actual.present? &&
|
72
|
+
actual.present? && actual_relationship_type == relationship_type
|
57
73
|
end
|
58
74
|
|
59
|
-
def
|
60
|
-
|
75
|
+
def association_message
|
76
|
+
relationship_matcher.to_s.split("_").join(" ")
|
61
77
|
end
|
62
78
|
|
63
|
-
def
|
64
|
-
|
79
|
+
def actual_relationship_type
|
80
|
+
actual.relationship_type
|
65
81
|
end
|
66
82
|
|
67
83
|
def actual
|
@@ -9,7 +9,7 @@ module RSpecJSONAPISerializer
|
|
9
9
|
def initialize(value, relationship_target)
|
10
10
|
super(value)
|
11
11
|
|
12
|
-
@relationship_target
|
12
|
+
@relationship_target = relationship_target
|
13
13
|
end
|
14
14
|
|
15
15
|
def matches?(serializer_instance)
|
@@ -18,18 +18,18 @@ module RSpecJSONAPISerializer
|
|
18
18
|
actual == expected
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
22
|
-
|
21
|
+
def description
|
22
|
+
"with id method name #{expected}"
|
23
|
+
end
|
24
|
+
|
25
|
+
def expectation
|
26
|
+
[ "with id method name #{expected}", actual_message ].compact.join(", ")
|
23
27
|
end
|
24
28
|
|
25
29
|
private
|
26
30
|
|
27
31
|
attr_reader :relationship_target
|
28
32
|
|
29
|
-
def expected_message
|
30
|
-
"expected #{serializer_name} to use #{expected} as id_method_name for #{relationship_target}"
|
31
|
-
end
|
32
|
-
|
33
33
|
def actual_message
|
34
34
|
actual ? "got #{actual} instead" : nil
|
35
35
|
end
|
data/lib/rspec_jsonapi_serializer/matchers/association_matchers/object_method_name_matcher.rb
CHANGED
@@ -18,18 +18,18 @@ module RSpecJSONAPISerializer
|
|
18
18
|
actual == expected
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
22
|
-
|
21
|
+
def description
|
22
|
+
"with object method name #{expected}"
|
23
|
+
end
|
24
|
+
|
25
|
+
def expectation
|
26
|
+
[ "with object method name #{expected}", actual_message ].compact.join(", ")
|
23
27
|
end
|
24
28
|
|
25
29
|
private
|
26
30
|
|
27
31
|
attr_reader :relationship_target
|
28
32
|
|
29
|
-
def expected_message
|
30
|
-
"expected #{serializer_name} to use #{expected} as object_method_name for #{relationship_target}"
|
31
|
-
end
|
32
|
-
|
33
33
|
def actual_message
|
34
34
|
actual ? "got #{actual} instead" : nil
|
35
35
|
end
|
@@ -18,18 +18,18 @@ module RSpecJSONAPISerializer
|
|
18
18
|
actual == expected
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
22
|
-
|
21
|
+
def description
|
22
|
+
"with serializer #{expected}"
|
23
|
+
end
|
24
|
+
|
25
|
+
def expectation
|
26
|
+
[ "with serializer #{expected}", actual_message ].compact.join(", ")
|
23
27
|
end
|
24
28
|
|
25
29
|
private
|
26
30
|
|
27
31
|
attr_reader :relationship_target
|
28
32
|
|
29
|
-
def expected_message
|
30
|
-
"expected #{serializer_name} to use #{expected} as serializer for #{relationship_target}"
|
31
|
-
end
|
32
|
-
|
33
33
|
def actual_message
|
34
34
|
actual ? "got #{actual} instead" : nil
|
35
35
|
end
|
@@ -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)
|
@@ -25,8 +25,16 @@ module RSpecJSONAPISerializer
|
|
25
25
|
association_matcher.serializer(value)
|
26
26
|
end
|
27
27
|
|
28
|
-
def
|
29
|
-
association_matcher.
|
28
|
+
def description
|
29
|
+
association_matcher.description
|
30
|
+
end
|
31
|
+
|
32
|
+
def failure_message
|
33
|
+
association_matcher.failure_message
|
34
|
+
end
|
35
|
+
|
36
|
+
def failure_message_when_negated
|
37
|
+
association_matcher.failure_message_when_negated
|
30
38
|
end
|
31
39
|
|
32
40
|
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
|
@@ -25,8 +25,16 @@ module RSpecJSONAPISerializer
|
|
25
25
|
association_matcher.serializer(value)
|
26
26
|
end
|
27
27
|
|
28
|
-
def
|
29
|
-
association_matcher.
|
28
|
+
def description
|
29
|
+
association_matcher.description
|
30
|
+
end
|
31
|
+
|
32
|
+
def failure_message
|
33
|
+
association_matcher.failure_message
|
34
|
+
end
|
35
|
+
|
36
|
+
def failure_message_when_negated
|
37
|
+
association_matcher.failure_message_when_negated
|
30
38
|
end
|
31
39
|
|
32
40
|
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
|
@@ -25,8 +25,16 @@ module RSpecJSONAPISerializer
|
|
25
25
|
association_matcher.serializer(value)
|
26
26
|
end
|
27
27
|
|
28
|
-
def
|
29
|
-
association_matcher.
|
28
|
+
def description
|
29
|
+
association_matcher.description
|
30
|
+
end
|
31
|
+
|
32
|
+
def failure_message
|
33
|
+
association_matcher.failure_message
|
34
|
+
end
|
35
|
+
|
36
|
+
def failure_message_when_negated
|
37
|
+
association_matcher.failure_message_when_negated
|
30
38
|
end
|
31
39
|
|
32
40
|
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.3.
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mateus Cruz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-05-
|
11
|
+
date: 2023-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jsonapi-serializer
|