Add pagination to index

This commit is contained in:
Maciej Szlosarczyk 2018-07-31 15:14:21 +03:00
parent 10d42a0d74
commit c476680a91
No known key found for this signature in database
GPG key ID: 41D62D42D3B0D765
2 changed files with 53 additions and 3 deletions

View file

@ -47,6 +47,35 @@ class RegistrantApiDomainsTest < ActionDispatch::IntegrationTest
assert(array_of_domain_names.include?('hospital.test'))
end
def test_root_accepts_limit_and_offset_parameters
get '/api/v1/registrant/domains', { 'limit' => 2, 'offset' => 0 }, @auth_headers
response_json = JSON.parse(response.body, symbolize_names: true)
assert_equal(200, response.status)
assert_equal(2, response_json.count)
get '/api/v1/registrant/domains', {}, @auth_headers
response_json = JSON.parse(response.body, symbolize_names: true)
assert_equal(5, response_json.count)
end
def test_root_does_not_accept_limit_higher_than_200
get '/api/v1/registrant/domains', { 'limit' => 400, 'offset' => 0 }, @auth_headers
assert_equal(400, response.status)
response_json = JSON.parse(response.body, symbolize_names: true)
assert_equal({ errors: [{ limit: ['parameter is out of range'] }] }, response_json)
end
def test_root_does_not_accept_offset_lower_than_0
get '/api/v1/registrant/domains', { 'limit' => 200, 'offset' => "-10" }, @auth_headers
assert_equal(400, response.status)
response_json = JSON.parse(response.body, symbolize_names: true)
assert_equal({ errors: [{ offset: ['parameter is out of range'] }] }, response_json)
end
def test_root_returns_401_without_authorization
get '/api/v1/registrant/domains', {}, {}
assert_equal(401, response.status)
@ -55,6 +84,14 @@ class RegistrantApiDomainsTest < ActionDispatch::IntegrationTest
assert_equal({ errors: ['Not authorized'] }, json_body)
end
def test_details_returns_401_without_authorization
get '/api/v1/registrant/domains/5edda1a5-3548-41ee-8b65-6d60daf85a37', {}, {}
assert_equal(401, response.status)
json_body = JSON.parse(response.body, symbolize_names: true)
assert_equal({ errors: ['Not authorized'] }, json_body)
end
private
def auth_token