Skip to content

Commit d50262e

Browse files
committed
test pagination links the way the controller does
1 parent b73ffe2 commit d50262e

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

test/adapter/json_api/pagination_links_test.rb

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ def mock_request(query_parameters={}, original_url=URI)
2828
@options[:context] = context
2929
end
3030

31+
def load_adapter(paginated_collection, options = {})
32+
options = options.merge(adapter: :json_api)
33+
ActiveModel::SerializableResource.new(paginated_collection, options)
34+
end
35+
3136
def using_kaminari
3237
Kaminari.paginate_array(@array).page(2).per(1)
3338
end
@@ -77,33 +82,29 @@ def expected_response_with_pagination_links_and_additional_params
7782
end
7883

7984
def test_pagination_links_using_kaminari
80-
serializer = ArraySerializer.new(using_kaminari)
81-
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
85+
adapter = load_adapter(using_kaminari)
8286

8387
mock_request
8488
assert_equal expected_response_with_pagination_links, adapter.serializable_hash(@options)
8589
end
8690

8791
def test_pagination_links_using_will_paginate
88-
serializer = ArraySerializer.new(using_will_paginate)
89-
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
92+
adapter = load_adapter(using_will_paginate)
9093

9194
mock_request
9295
assert_equal expected_response_with_pagination_links, adapter.serializable_hash(@options)
9396
end
9497

9598
def test_pagination_links_with_additional_params
96-
serializer = ArraySerializer.new(using_will_paginate)
97-
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
99+
adapter = load_adapter(using_will_paginate)
98100

99101
mock_request({ test: 'test' })
100102
assert_equal expected_response_with_pagination_links_and_additional_params,
101103
adapter.serializable_hash(@options)
102104
end
103105

104106
def test_not_showing_pagination_links
105-
serializer = ArraySerializer.new(@array)
106-
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
107+
adapter = load_adapter(@array)
107108

108109
assert_equal expected_response_without_pagination_links, adapter.serializable_hash
109110
end

0 commit comments

Comments
 (0)