diff --git a/tests/test_main.py b/tests/test_main.py index bd6bec2..93fd9fd 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -1,15 +1,28 @@ +import validators from fastapi.testclient import TestClient from datetime import date from src.main import app -from src.classes import boardgame_classes +from src.classes import boardgame_classes, play_classes client = TestClient(app) def default_boardgame_test(to_test_boardgame: boardgame_classes.BoardGame): assert type(to_test_boardgame.id) == int assert type(to_test_boardgame.name) == str + assert type(to_test_boardgame.description) == str + assert validators.url(str(to_test_boardgame.image_url)) + assert validators.url(str(to_test_boardgame.thumbnail_url)) + assert type(to_test_boardgame.year_published) == int + assert type(to_test_boardgame.min_players) == int + assert type(to_test_boardgame.max_players) == int + assert type(to_test_boardgame.min_playing_time) == int + assert type(to_test_boardgame.max_playing_time) == int + assert type(to_test_boardgame.min_age) == int + assert type(to_test_boardgame.all_expansion_ids) == list + assert type(to_test_boardgame.all_expansion_ids[0]) == int + assert type(to_test_boardgame.type) == boardgame_classes.BoardgameType @@ -46,4 +59,19 @@ def test_retrieve_wishlist(): default_boardgame_test(returned_boardgame) assert type(returned_boardgame.wishlist_priority) == int - assert returned_boardgame.wishlist_priority > 0 \ No newline at end of file + assert returned_boardgame.wishlist_priority > 0 + + +def test_retrieve_plays(): + response = client.get("/plays") + assert response.status_code == 200 + + returned_play = play_classes.Play(**response.json()[0]) + + assert type(returned_play.boardgame_id) == int + assert type(returned_play.players) == list + assert type(returned_play.players[0]) == play_classes.PlayPlayer + assert type(returned_play.play_date) == date + assert type(returned_play.duration) == int + assert type(returned_play.ignore_for_stats) == bool + assert type(returned_play.location) == str \ No newline at end of file