feat(ui): UI-005 begründete Einsatzbereitschaft + Dokumente in der Akte
Backend: objekt_readiness() in dashboard.py liefert Status+Gründe für
ein einzelnes Objekt, Fallunterscheidung aus einsatzbereitschaft()
extrahiert (_kategorie_und_gruende, keine Duplizierung). Neue Felder
an /akte/objekt/{id}. Frontend: ReadinessBadge + Gründeliste ersetzt
den rohen objekt.status-Badge (Objekt-Lebenszyklus-Status bleibt
separat sichtbar). Dokumente waren in der Akte bisher nur Text ohne
Interaktion - jetzt DokumentePanel eingebunden plus neuer "Ansehen"-
Klick (PDF/Bild im neuen Tab statt Zwangs-Download).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
This commit is contained in:
@@ -48,6 +48,21 @@ async def test_akte_buendelt_teilbereiche(client, db_session, objekt_mit_positio
|
||||
assert body["maengel"][0]["beschreibung"] == "Riss im Gurt"
|
||||
assert len(body["historie"]) == 1
|
||||
assert body["historie"][0]["entitaet_typ"] == "objekt"
|
||||
assert body["einsatzbereitschaft_status"] == "not-ready"
|
||||
assert "mangel_kritisch_offen" in body["einsatzbereitschaft_gruende"]
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_akte_readiness_unbekannt_bei_nie_kontrolliert(client, objekt_mit_position, admin_user):
|
||||
"""UI-005: ein Objekt ohne jede Auffälligkeit, aber noch nie kontrolliert,
|
||||
gilt als "unbekannt" - NIE als "einsatzbereit" (Akzeptanzkriterium)."""
|
||||
objekt, _material = objekt_mit_position
|
||||
token = await login(client, "admin1")
|
||||
antwort = await client.get(f"/api/v1/akte/objekt/{objekt.id}", headers=auth_header(token))
|
||||
assert antwort.status_code == 200
|
||||
body = antwort.json()
|
||||
assert body["einsatzbereitschaft_status"] == "unknown"
|
||||
assert body["einsatzbereitschaft_status"] != "ready"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
||||
Reference in New Issue
Block a user