mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 06:16:50 +00:00
test pagination links the way the controller does
This commit is contained in:
parent
b73ffe25c8
commit
d50262edbe
@ -28,6 +28,11 @@ module ActiveModel
|
|||||||
@options[:context] = context
|
@options[:context] = context
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def load_adapter(paginated_collection, options = {})
|
||||||
|
options = options.merge(adapter: :json_api)
|
||||||
|
ActiveModel::SerializableResource.new(paginated_collection, options)
|
||||||
|
end
|
||||||
|
|
||||||
def using_kaminari
|
def using_kaminari
|
||||||
Kaminari.paginate_array(@array).page(2).per(1)
|
Kaminari.paginate_array(@array).page(2).per(1)
|
||||||
end
|
end
|
||||||
@ -77,24 +82,21 @@ module ActiveModel
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_pagination_links_using_kaminari
|
def test_pagination_links_using_kaminari
|
||||||
serializer = ArraySerializer.new(using_kaminari)
|
adapter = load_adapter(using_kaminari)
|
||||||
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
|
|
||||||
|
|
||||||
mock_request
|
mock_request
|
||||||
assert_equal expected_response_with_pagination_links, adapter.serializable_hash(@options)
|
assert_equal expected_response_with_pagination_links, adapter.serializable_hash(@options)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_pagination_links_using_will_paginate
|
def test_pagination_links_using_will_paginate
|
||||||
serializer = ArraySerializer.new(using_will_paginate)
|
adapter = load_adapter(using_will_paginate)
|
||||||
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
|
|
||||||
|
|
||||||
mock_request
|
mock_request
|
||||||
assert_equal expected_response_with_pagination_links, adapter.serializable_hash(@options)
|
assert_equal expected_response_with_pagination_links, adapter.serializable_hash(@options)
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_pagination_links_with_additional_params
|
def test_pagination_links_with_additional_params
|
||||||
serializer = ArraySerializer.new(using_will_paginate)
|
adapter = load_adapter(using_will_paginate)
|
||||||
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
|
|
||||||
|
|
||||||
mock_request({ test: 'test' })
|
mock_request({ test: 'test' })
|
||||||
assert_equal expected_response_with_pagination_links_and_additional_params,
|
assert_equal expected_response_with_pagination_links_and_additional_params,
|
||||||
@ -102,8 +104,7 @@ module ActiveModel
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_not_showing_pagination_links
|
def test_not_showing_pagination_links
|
||||||
serializer = ArraySerializer.new(@array)
|
adapter = load_adapter(@array)
|
||||||
adapter = ActiveModel::Serializer::Adapter::JsonApi.new(serializer)
|
|
||||||
|
|
||||||
assert_equal expected_response_without_pagination_links, adapter.serializable_hash
|
assert_equal expected_response_without_pagination_links, adapter.serializable_hash
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user