From 567ce9d3c334eab8877d9e8ff649ed630c92934f Mon Sep 17 00:00:00 2001 From: patrick Date: Tue, 8 Sep 2026 11:23:42 +0200 Subject: [PATCH] =?UTF-8?q?fix(test):=20L=C3=B6schen-Test=20nutzte=20falsc?= =?UTF-8?q?he=20Rolle=20(Mitarbeiter=20statt=20Verantwortlicher)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit entferne_dokument verlangt _materialverantwortliche - Mitarbeiter-Login lief mit 403 ins Leere, v2 blieb aktuell, Test verglich falsche ID gegen v1. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV --- backend/tests/test_dokument.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/backend/tests/test_dokument.py b/backend/tests/test_dokument.py index 53d5453..6401f21 100644 --- a/backend/tests/test_dokument.py +++ b/backend/tests/test_dokument.py @@ -312,7 +312,9 @@ async def test_dokument_ersetzen_legt_neue_version_an_alte_bleibt_erhalten( @pytest.mark.asyncio -async def test_loeschen_der_aktuellen_version_gibt_vorgaenger_frei(client, objekt_mit_position, mitarbeiter_user): +async def test_loeschen_der_aktuellen_version_gibt_vorgaenger_frei( + client, objekt_mit_position, mitarbeiter_user, materialverantwortlicher_user +): """Löscht man die aktuelle Version, wird die vorherige wieder als aktuell gelistet (nichts zeigt mehr per vorgaenger_id auf sie).""" objekt, _material = objekt_mit_position @@ -333,7 +335,13 @@ async def test_loeschen_der_aktuellen_version_gibt_vorgaenger_frei(client, objek ) v2_id = v2.json()["id"] - await client.delete(f"/api/v1/dokumente/{v2_id}", headers=auth_header(token)) + # Löschen erfordert Materialverantwortliche+ (_materialverantwortliche) - + # Mitarbeiter dürfen selbst hochgeladene Dokumente nicht löschen. + verantwortlicher_token = await login(client, "materialverantwortlicher1") + geloescht = await client.delete( + f"/api/v1/dokumente/{v2_id}", headers=auth_header(verantwortlicher_token) + ) + assert geloescht.status_code == 204 liste = await client.get( f"/api/v1/dokumente?entitaet_typ=objekt&entitaet_id={objekt.id}", headers=auth_header(token)