toddler_shop_api/tests/test_main.py

39 lines
989 B
Python
Raw Permalink Normal View History

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
2024-08-05 13:49:17 +02:00
from shop_validators import image_validator
2024-08-04 09:12:27 +02:00
client = TestClient(app)
def default_product_test(product: product_classes.Product):
assert type(product.name) == str
assert type(product.price) == float
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)
2024-08-05 13:49:17 +02:00
def test_retrieve_icon():
response = client.get("/icons/cart")
assert response.status_code == 200
returned_icon = response.text
assert image_validator.is_valid_svg(file_content=returned_icon)