2024-08-04 09:12:27 +02:00
|
|
|
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
|
2024-08-04 17:18:19 +02:00
|
|
|
assert type(product.image_filename) == str
|
2024-08-04 09:12:27 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
|