From c1bfb7c9bbf7afa3644b8090c8bd4e613bc57af2 Mon Sep 17 00:00:00 2001 From: Yarne Coppens Date: Sun, 4 Aug 2024 09:12:27 +0200 Subject: [PATCH] Added first tests --- tests/__init__.py | 0 tests/test_main.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 tests/__init__.py create mode 100644 tests/test_main.py 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)