@@ -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