bgg_api/tests/test_main.py
2024-08-02 10:54:41 +02:00

49 lines
No EOL
1.4 KiB
Python

from fastapi.testclient import TestClient
from datetime import date
from src.main import app
from src.classes import boardgame_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
def test_read_main():
response = client.get("/")
assert response.status_code == 200
assert response.json() == {"Hello": "World"}
def test_retrieve_boardgame():
response = client.get("/boardgame/373167")
assert response.status_code == 200
returned_boardgame = boardgame_classes.BoardGame(**response.json())
default_boardgame_test(returned_boardgame)
def test_retrieve_owned():
response = client.get("/owned")
assert response.status_code == 200
returned_boardgame = boardgame_classes.OwnedBoardGame(**response.json()[0])
default_boardgame_test(returned_boardgame)
assert type(returned_boardgame.price_paid) == float
assert type(returned_boardgame.acquisition_date) == date
assert type(returned_boardgame.acquired_from) == str
def test_retrieve_wishlist():
response = client.get("/wishlist")
assert response.status_code == 200
returned_boardgame = boardgame_classes.WishlistBoardGame(**response.json()[0])
default_boardgame_test(returned_boardgame)
assert type(returned_boardgame.wishlist_priority) == int
assert returned_boardgame.wishlist_priority > 0