diff --git a/iib/web/utils.py b/iib/web/utils.py index 3f3da6f0d..92bdecb92 100644 --- a/iib/web/utils.py +++ b/iib/web/utils.py @@ -26,7 +26,7 @@ def pagination_metadata(pagination_query: Pagination, **kwargs) -> PaginationMet ), 'last': url_for( str(request.endpoint), - page=pagination_query.pages, + page=max(1, pagination_query.pages), per_page=pagination_query.per_page, _external=True, **kwargs, diff --git a/tests/test_web/test_api_v1.py b/tests/test_web/test_api_v1.py index 51b785e44..ef97615ea 100644 --- a/tests/test_web/test_api_v1.py +++ b/tests/test_web/test_api_v1.py @@ -181,6 +181,15 @@ def test_get_builds(app, auth_env, client, db): assert rv_json['items'][0]['user'] == 'tbrady@DOMAIN.LOCAL' +def test_get_builds_empty(client, db): + rv_json = client.get('/api/v1/builds').json + assert rv_json['items'] == [] + assert rv_json['meta']['total'] == 0 + assert rv_json['meta']['pages'] == 0 + assert rv_json['meta']['last'] == rv_json['meta']['first'] + assert 'page=1' in rv_json['meta']['last'] + + def test_index_image_filter( app, client, db, minimal_request_add, minimal_request_rm, minimal_request_fbc_operations ):