From 4acf79a0dd1f77f75864ad5e08d54f692ce54b68 Mon Sep 17 00:00:00 2001 From: Colin Goutte Date: Sun, 27 Aug 2023 17:58:57 +0200 Subject: [PATCH] RED: Check expected output format for '/movies/' route --- utests/test_api.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/utests/test_api.py b/utests/test_api.py index 5c3d659..400cdd1 100644 --- a/utests/test_api.py +++ b/utests/test_api.py @@ -125,6 +125,31 @@ class BaseCrud(unittest.TestCase): assert response.status_code == 200 movies = client.get("/movies/") + + movies_by_title = {m["title"]: m for m in movies.json()} + found = list(movies_by_title[title] for title in names) + assert all(movies_by_title[title] for title in names) + + def test_list_movies_payload_format(self): + response = client.get("/movies/") + assert response.status_code == 200 + # assert response.json() == [] + + 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 + + movies = client.get("/movies/").json() + + assert insinstance(movies["count"], int) + assert insinstance(movies["movies"], list) + movies_by_title = {m["title"]: m for m in movies.json()} found = list(movies_by_title[title] for title in names) assert all(movies_by_title[title] for title in names)