@@ -302,6 +302,20 @@ def test_query_link_for_regular_app_with_dasherized_scope
302302 assert_equal expected_link , builder . query_link ( query )
303303 end
304304
305+ def test_query_link_for_regular_app_with_optional_scope
306+ config = {
307+ base_url : @base_url ,
308+ route_formatter : OptionalRouteFormatter ,
309+ primary_resource_klass : OptionalNamespace ::V1 ::PersonResource
310+ }
311+
312+ query = { page : { offset : 0 , limit : 12 } }
313+ builder = JSONAPI ::LinkBuilder . new ( config )
314+ expected_link = "#{ @base_url } /optional_namespace/people?page%5Blimit%5D=12&page%5Boffset%5D=0"
315+
316+ assert_equal expected_link , builder . query_link ( query )
317+ end
318+
305319 def test_query_link_for_engine
306320 config = {
307321 base_url : @base_url ,
@@ -344,6 +358,20 @@ def test_query_link_for_engine_with_dasherized_scope
344358 assert_equal expected_link , builder . query_link ( query )
345359 end
346360
361+ def test_query_link_for_engine_with_optional_scope
362+ config = {
363+ base_url : @base_url ,
364+ route_formatter : OptionalRouteFormatter ,
365+ primary_resource_klass : MyEngine ::OptionalNamespace ::V1 ::PersonResource
366+ }
367+
368+ query = { page : { offset : 0 , limit : 12 } }
369+ builder = JSONAPI ::LinkBuilder . new ( config )
370+ expected_link = "#{ @base_url } /boomshaka/optional_namespace/people?page%5Blimit%5D=12&page%5Boffset%5D=0"
371+
372+ assert_equal expected_link , builder . query_link ( query )
373+ end
374+
347375 def test_query_link_for_engine_with_camel_case_scope
348376 config = {
349377 base_url : @base_url ,
0 commit comments