Files
jardin/backend/tests/test_plants.py
2026-02-22 22:18:32 +01:00

37 lines
1.3 KiB
Python

def test_create_plant(client):
r = client.post("/api/plants", json={"nom_commun": "Tomate", "famille": "Solanacées"})
assert r.status_code == 201
assert r.json()["nom_commun"] == "Tomate"
def test_list_plants(client):
client.post("/api/plants", json={"nom_commun": "Tomate"})
client.post("/api/plants", json={"nom_commun": "Courgette"})
r = client.get("/api/plants")
assert r.status_code == 200
assert len(r.json()) == 2
def test_allow_same_common_name_with_different_varieties(client):
client.post("/api/plants", json={"nom_commun": "Tomate", "variete": "Roma"})
client.post("/api/plants", json={"nom_commun": "Tomate", "variete": "Andine Cornue"})
r = client.get("/api/plants")
assert r.status_code == 200
tomates = [p for p in r.json() if p["nom_commun"] == "Tomate"]
assert len(tomates) == 2
assert {p.get("variete") for p in tomates} == {"Roma", "Andine Cornue"}
def test_get_plant(client):
r = client.post("/api/plants", json={"nom_commun": "Basilic"})
id = r.json()["id"]
r2 = client.get(f"/api/plants/{id}")
assert r2.status_code == 200
def test_delete_plant(client):
r = client.post("/api/plants", json={"nom_commun": "Test"})
id = r.json()["id"]
r2 = client.delete(f"/api/plants/{id}")
assert r2.status_code == 204