fix(dashboard): "nie kontrolliert" ging bei zusätzlichen Gründen verloren
_kategorie_und_gruende() zählte "noch_nie_kontrolliert" bisher nur, wenn es der EINZIGE Grund war - ein Objekt mit z.B. offenem Fehlbestand UND nie kontrolliert verlor den Hinweis komplett, landete nur unter "nicht einsatzbereit" ohne diesen Grund zu nennen. Jetzt immer als Zusatzgrund angehängt. Neues Feld nie_kontrolliert_gesamt liefert die tatsächliche Gesamtzahl über alle Kategorien hinweg, Dashboard nutzt sie statt der (bewusst engeren) "unbekannt"-Kategorie. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
This commit is contained in:
@@ -186,6 +186,7 @@ async def test_nie_kontrolliertes_objekt_ist_unbekannt(
|
||||
assert body["unbekannt"] == 1
|
||||
assert body["nicht_einsatzbereit"] == 0
|
||||
assert body["details"][0]["gruende"] == ["noch_nie_kontrolliert"]
|
||||
assert body["nie_kontrolliert_gesamt"] == 1
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@@ -203,7 +204,11 @@ async def test_offener_fehlbestand_macht_objekt_nicht_einsatzbereit(
|
||||
body = response.json()
|
||||
assert body["einsatzbereit"] == 0
|
||||
assert body["nicht_einsatzbereit"] == 1
|
||||
assert body["details"][0]["gruende"] == ["fehlbestand_offen"]
|
||||
# Bug-Fund 2026-09-06: "nie kontrolliert" darf nicht verloren gehen, nur
|
||||
# weil das Objekt zusätzlich einen anderen Grund hat (objekt_mit_position
|
||||
# hat nie eine abgeschlossene Kontrolle).
|
||||
assert body["details"][0]["gruende"] == ["fehlbestand_offen", "noch_nie_kontrolliert"]
|
||||
assert body["nie_kontrolliert_gesamt"] == 1
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@@ -230,7 +235,8 @@ async def test_genehmigte_mindermenge_macht_objekt_eingeschraenkt_einsatzbereit(
|
||||
assert body["einsatzbereit"] == 0
|
||||
assert body["eingeschraenkt_einsatzbereit"] == 1
|
||||
assert body["nicht_einsatzbereit"] == 0
|
||||
assert body["details"][0]["gruende"] == ["mindermenge_genehmigt"]
|
||||
assert body["details"][0]["gruende"] == ["mindermenge_genehmigt", "noch_nie_kontrolliert"]
|
||||
assert body["nie_kontrolliert_gesamt"] == 1
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@@ -257,7 +263,8 @@ async def test_ueberfaellige_pruefung_macht_objekt_nicht_einsatzbereit(
|
||||
response = await client.get("/api/v1/dashboard/einsatzbereitschaft", headers=auth_header(token))
|
||||
body = response.json()
|
||||
assert body["nicht_einsatzbereit"] == 1
|
||||
assert body["details"][0]["gruende"] == ["pruefung_ueberfaellig"]
|
||||
assert body["details"][0]["gruende"] == ["pruefung_ueberfaellig", "noch_nie_kontrolliert"]
|
||||
assert body["nie_kontrolliert_gesamt"] == 1
|
||||
|
||||
prueftermine = await client.get("/api/v1/dashboard/prueftermine", headers=auth_header(token))
|
||||
prueftermine_body = prueftermine.json()
|
||||
|
||||
Reference in New Issue
Block a user