fooder-api/fooder/test/test_product.py

46 lines
1.4 KiB
Python
Raw Normal View History

import pytest
import datetime
@pytest.mark.dependency()
def test_create_product(client, product_payload):
response = client.post("product", json=product_payload)
assert response.status_code == 200, response.json()
@pytest.mark.dependency(depends=["test_create_product"])
def test_list_product(client):
response = client.get("product")
assert response.status_code == 200, response.json()
data = response.json()["products"]
assert len(data) != 0
product_ids = set()
for product in data:
assert product["id"] not in product_ids
product_ids.add(product["id"])
@pytest.mark.dependency(depends=["test_list_product"])
def test_products_list_by_latest_usage(
client, product_payload_factory, entry_payload_factory
):
today = datetime.date.today().isoformat()
response = client.get("diary", params={"date": today})
assert response.status_code == 200, response.json()
meal_id = response.json()["meals"][0]["id"]
response = client.get("product")
product_id = response.json()["products"][0]["id"]
entry_payload = entry_payload_factory(meal_id, product_id, 100.0)
response = client.post("entry", json=entry_payload)
for _ in range(5):
client.post("product", json=product_payload_factory()).json()["id"]
response = client.get("product")
assert response.json()["products"][0]["id"] == product_id