Merge pull request #2149 from mecampbellsoup/more-pagination-links-by-default

Always include self, first, last pagination links
This commit is contained in:
Alexandre de Oliveira
2017-06-14 15:47:30 -03:00
committed by GitHub
3 changed files with 71 additions and 32 deletions

View File

@@ -54,6 +54,16 @@ module ActiveModelSerializers
}
end
def empty_collection_links
{
self: "#{URI}?page%5Bnumber%5D=1&page%5Bsize%5D=2",
first: "#{URI}?page%5Bnumber%5D=1&page%5Bsize%5D=2",
prev: nil,
next: nil,
last: "#{URI}?page%5Bnumber%5D=1&page%5Bsize%5D=2"
}
end
def links
{
links: {
@@ -71,7 +81,9 @@ module ActiveModelSerializers
links: {
self: "#{URI}?page%5Bnumber%5D=3&page%5Bsize%5D=2",
first: "#{URI}?page%5Bnumber%5D=1&page%5Bsize%5D=2",
prev: "#{URI}?page%5Bnumber%5D=2&page%5Bsize%5D=2"
prev: "#{URI}?page%5Bnumber%5D=2&page%5Bsize%5D=2",
next: nil,
last: "#{URI}?page%5Bnumber%5D=3&page%5Bsize%5D=2"
}
}
end
@@ -108,10 +120,10 @@ module ActiveModelSerializers
end
end
def expected_response_with_no_data_pagination_links
def expected_response_with_empty_collection_pagination_links
{}.tap do |hash|
hash[:data] = []
hash[:links] = {}
hash.merge! links: empty_collection_links
end
end
@@ -139,7 +151,7 @@ module ActiveModelSerializers
adapter = load_adapter(using_kaminari(1), mock_request)
assert_equal expected_response_with_no_data_pagination_links, adapter.serializable_hash
assert_equal expected_response_with_empty_collection_pagination_links, adapter.serializable_hash
end
def test_pagination_links_when_zero_results_will_paginate
@@ -147,7 +159,7 @@ module ActiveModelSerializers
adapter = load_adapter(using_will_paginate(1), mock_request)
assert_equal expected_response_with_no_data_pagination_links, adapter.serializable_hash
assert_equal expected_response_with_empty_collection_pagination_links, adapter.serializable_hash
end
def test_last_page_pagination_links_using_kaminari