Skip to content

Commit abe63e5

Browse files
committed
Add tests for included key
Fixes #1162
1 parent d6d6cb5 commit abe63e5

1 file changed

Lines changed: 31 additions & 1 deletion

File tree

test/unit/resource/active_relation_resource_finder_test.rb

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,36 @@ def test_find_related_has_many_fragments_no_attributes
121121
assert_equal 2, related_identities[JSONAPI::ResourceIdentity.new(TagResource, 502)][:related][:tags].length
122122
end
123123

124+
def test_find_related_has_many_fragments_pagination
125+
params = ActionController::Parameters.new(number: 2, size: 4)
126+
options = { paginator: PagedPaginator.new(params) }
127+
source_rids = [JSONAPI::ResourceIdentity.new(ARPostResource, 15)]
128+
129+
related_identities = ARPostResource.find_related_fragments(source_rids, 'tags', options)
130+
131+
assert_equal 1, related_identities.length
132+
assert_equal JSONAPI::ResourceIdentity.new(TagResource, 516), related_identities.keys[0]
133+
assert_equal JSONAPI::ResourceIdentity.new(TagResource, 516), related_identities.values[0][:identity]
134+
assert related_identities.values[0].is_a?(Hash)
135+
assert_equal 2, related_identities.values[0].length
136+
assert_equal 1, related_identities.values[0][:related][:tags].length
137+
end
138+
139+
def test_find_related_has_many_fragments_pagination_included_key
140+
params = ActionController::Parameters.new(number: 2, size: 4)
141+
options = { paginator: PagedPaginator.new(params) }
142+
source_rids = [JSONAPI::ResourceIdentity.new(ARPostResource, 15)]
143+
144+
related_identities = ARPostResource.find_related_fragments(source_rids, 'tags', options, :tags)
145+
146+
assert_equal 5, related_identities.length
147+
assert_equal JSONAPI::ResourceIdentity.new(TagResource, 502), related_identities.keys[0]
148+
assert_equal JSONAPI::ResourceIdentity.new(TagResource, 502), related_identities.values[0][:identity]
149+
assert related_identities.values[0].is_a?(Hash)
150+
assert_equal 2, related_identities.values[0].length
151+
assert_equal 1, related_identities.values[0][:related][:tags].length
152+
end
153+
124154
def test_find_related_has_many_fragments_cache_field
125155
options = { cache: true }
126156
source_rids = [JSONAPI::ResourceIdentity.new(ARPostResource, 1),
@@ -200,7 +230,7 @@ def test_find_related_polymorphic_fragments_cache_field
200230
end
201231

202232
def test_find_related_polymorphic_fragments_cache_field_attributes
203-
options = { cache: true , attributes: [:name] }
233+
options = { cache: true, attributes: [:name] }
204234
source_rids = [JSONAPI::ResourceIdentity.new(PictureResource, 1),
205235
JSONAPI::ResourceIdentity.new(PictureResource, 2),
206236
JSONAPI::ResourceIdentity.new(PictureResource, 20)]

0 commit comments

Comments
 (0)