"""Response flask util tests""" from ows_accounting.constants import pagination from ows_accounting.utils import pagination as pagination_util def test_add_pagination_none(monkeypatch, items_active_fixture): """Test pagination with none return template.""" data = items_active_fixture result = pagination_util.add_pagination(data) assert result assert result['pagination'] == { 'type': 'none', 'total_records': len(data) } def test_add_pagination_standard_limit(monkeypatch, items_active_fixture): """Test pagination with standard template w/o calculation offset.""" data = items_active_fixture result = pagination_util.add_pagination( data, 5, 0, pagination.TYPE_STANDARD_WITHOUT_CALCULATION ) assert result assert result['pagination'] == { 'type': 'standard', 'offset': 0, 'limit': 5, 'total_records': 5 } def test_format_add_pagination_standard_limit_offset( monkeypatch, items_active_fixture): """Test pagination with standard template w/o calculation and offset.""" data = items_active_fixture result = pagination_util.add_pagination( data, 5, 15, pagination.TYPE_STANDARD_WITHOUT_CALCULATION ) assert result assert result['pagination'] == { 'type': 'standard', 'offset': 15, 'limit': 5, 'total_records': 5 } def test_format_add_pagination_standard_calc_limit( monkeypatch, items_active_fixture): """Test pagination with standard template with calculation and offset.""" data = items_active_fixture result = pagination_util.add_pagination( data, 3, 0, pagination.TYPE_STANDARD_WITH_CALCULATION ) assert result assert result['items'] == [ { 'id': 1, 'creator_id': 'oa:1234', 'status': 'active', 'description': '7123 is on hold', 'vendor_id': 7123 }, { 'id': 2, 'creator_id': 'oa:1234', 'status': 'active', 'description': '7124 is on hold', 'vendor_id': 7124 }, { 'id': 3, 'creator_id': 'oa:1235', 'status': 'active', 'description': '7125 is on hold', 'vendor_id': 7125 } ] assert result['pagination'] == { 'type': 'standard', 'offset': 0, 'limit': 3, 'total_records': 5 } def test_format_add_pagination_standard_calc_limit_offset( monkeypatch, items_active_fixture): """Test pagination with standard template with calculation and offset.""" data = items_active_fixture result = pagination_util.add_pagination( data, 3, 3, pagination.TYPE_STANDARD_WITH_CALCULATION ) assert result assert result['items'] == [ { 'id': 4, 'creator_id': 'oa:1236', 'status': 'active', 'description': '7126 is on hold', 'vendor_id': 7126 }, { 'id': 5, 'creator_id': 'oa:1234', 'status': 'active', 'description': '7127 is on hold', 'vendor_id': 7127 } ] assert result['pagination'] == { 'type': 'standard', 'offset': 3, 'limit': 3, 'total_records': 5 }