diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test_main.py b/tests/test_main.py new file mode 100644 index 0000000..64fc017 --- /dev/null +++ b/tests/test_main.py @@ -0,0 +1,29 @@ +from fastapi.testclient import TestClient +from pydantic import HttpUrl +import validators + +from src.main import app +from src.classes import product_classes + +client = TestClient(app) + +def default_product_test(product: product_classes.Product): + assert type(product.name) == str + assert type(product.price) == float + assert validators.url(str(product.image_url)) + + + +def test_read_main(): + response = client.get("/") + assert response.status_code == 200 + assert response.json() == {"Hello": "World"} + + +def test_retrieve_products(): + response = client.get("/products") + assert response.status_code == 200 + + returned_product = product_classes.Product(**response.json()[0]) + + default_product_test(returned_product)