RED: write test to query paginated view

This commit is contained in:
Colin Goutte 2023-08-27 18:58:48 +02:00
parent 99045993fe
commit 2a4ac4961c
1 changed files with 33 additions and 0 deletions

View File

@ -157,6 +157,39 @@ class BaseCrud(unittest.TestCase):
assert isinstance(movies["movies"], list)
assert movies["count"] == primary_count + N
def test_list_movies_pagination(self):
response = client.get("/movies/")
assert response.status_code == 200
# assert response.json() == []
primary_count = response.json()["count"]
N = 10
names = []
for _ in range(N):
name = rand_name()
names.append(name)
self.create_payload["title"] = name
response = client.post("/movies/", json=self.create_payload)
assert response.status_code == 200
pagenum = 3
pagesize = 5
sliced_movies = client.get("/movies/").json()["movies"][
(pagenum - 1) * pagesize : pagenum * pagesize
]
sliced_titles = [m["title"] for m in sliced_movies]
movies_paginate = client.get(
f"/movies/?pagenum={pagenum}&pagesize={pagesize}"
).json()["movies"]
paginate_titles = [m["title"] for n in movies_paginate]
assert sliced_titles == paginate_titles
class ApiTestCase(unittest.TestCase):
def test_payload_content_in_and_out_loopback(self):