diff --git a/backend/tests/test_stammdaten.py b/backend/tests/test_stammdaten.py index d326f83..288c371 100644 --- a/backend/tests/test_stammdaten.py +++ b/backend/tests/test_stammdaten.py @@ -308,11 +308,16 @@ async def test_fach_verwendung_und_ersetzen_fuehrt_zusammen( zustaendiger_server_id=hauptserver_id, ) - ziel_fach = await client.post( - "/api/v1/faecher", - json={"objekttyp_id": objekttyp_id, "name": "Reizverschlussfach Gross"}, - headers=auth_header(token), - ) + # erstelle_vorlage() legt für den Freitext-Fachnamen der Vorlagenposition + # bereits automatisch ein Fach an (services/vorlagen.py::_erstelle_faecher) + # - das ist hier schon das spätere "Ziel", ein erneutes Anlegen desselben + # Namens würde am case-insensitiven Duplikat-Schutz scheitern (409). + ziel = ( + await db_session.execute( + select(Fach).where(Fach.objekttyp_id == objekttyp_id, Fach.name == "Reizverschlussfach gross") + ) + ).scalar_one() + quell_fach = await client.post( "/api/v1/faecher", json={"objekttyp_id": objekttyp_id, "name": "reizverschlussfach gross tmp"}, @@ -334,7 +339,7 @@ async def test_fach_verwendung_und_ersetzen_fuehrt_zusammen( headers=auth_header(token), ) assert ersetzt.status_code == 200 - assert ersetzt.json()["id"] == ziel_fach.json()["id"] + assert ersetzt.json()["id"] == ziel.id liste = await client.get("/api/v1/faecher", headers=auth_header(token)) verbleibende = [f for f in liste.json() if f["objekttyp_id"] == objekttyp_id]