Files
tessera-ctl/.planning/phases/07-dkv-fleet-module/07-UAT.md
T
schalli fc4c006f30
Tessera CI/CD / Lint & Type Check (push) Successful in 40s
Tessera CI/CD / Tests (push) Failing after 11m1s
Tessera CI/CD / Build & Deploy (push) Has been skipped
chore(07): UAT Test 7 pass — Exchange NTLM connection verified
Domain field must be left empty or set to actual AD domain; placeholder
value 'CONTOSO' causes 401.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 10:16:21 +02:00

72 lines
3.8 KiB
Markdown

---
status: partial
phase: 07-dkv-fleet-module
source: [07-01-SUMMARY.md, 07-02-SUMMARY.md, 07-03-SUMMARY.md, 07-04-SUMMARY.md, 07-05-SUMMARY.md, 07-06-SUMMARY.md]
started: 2026-06-27T15:20:00Z
updated: 2026-06-29T10:30:00Z
---
## Current Test
<!-- OVERWRITE each test - shows where we are -->
number: 8
name: DKV Einstellungen — Fahrzeuge-Tabelle
expected: |
Klick auf "Fahrzeuge"-Tab navigiert zu /modules/dkv-fleet/vehicles. Die Seite zeigt eine Tabelle mit Spalten: Kennzeichen, Fahrer, Marke, Modell. Bei leerem System: leerer Zustand ohne Fehler. "Neues Fahrzeug"-Button o.ä. ist sichtbar.
awaiting: user response
## Tests
### 1. Cold Start Smoke Test
expected: Kill any running services. Start fresh via docker compose up. API-Container startet ohne Fehler, Prisma-Verbindung gelingt, /api/health oder ein einfacher API-Call liefert eine Antwort zurück. Keine Crash-Logs in docker compose logs tessera-ctl-api-1.
result: pass
note: "docker compose down && docker compose up -d: DB healthy → API healthy → Web up. Früheres P1001 war externaler SIGKILL auf DB-Container, kein Code-Defekt."
### 2. Settings-Sidebar: Allgemein-Kategorie
expected: In der Settings-Seitenleiste (z.B. unter /settings/general/smtp) erscheint eine neue Kategorie "Allgemein" mit einem Link "SMTP" — platziert oberhalb der bestehenden "Dashboard"-Kategorie.
result: pass
### 3. SMTP-Einstellungen-Seite aufrufen
expected: /settings/general/smtp öffnet eine Seite mit einem Formular, das 6 Felder enthält: Host, Port, Verschlüsselung (Dropdown), Benutzername, Passwort (mit Show/Hide-Toggle), Absenderadresse. Das Passwort-Feld ist leer (niemals vorausgefüllt).
result: pass
### 4. SMTP-Konfiguration speichern
expected: Formularfelder ausfüllen und "Speichern" klicken → kurze Erfolgs-Meldung erscheint ("Gespeichert" o.ä.). Beim nächsten Laden der Seite sind Host, Port, Benutzername, Absenderadresse wieder befüllt — Passwort bleibt leer (nur hasPassword-Indikator).
result: pass
### 5. SMTP-Verbindungstest
expected: "Verbindung testen"-Button anklicken → inline Feedback erscheint (grün bei Erfolg, rot bei Fehler). Die Meldung verschwindet automatisch nach ca. 6 Sekunden.
result: pass
note: "Feld 'Test-E-Mail an' ergänzt. Echter Versand via sendMail(). Grüne Bestätigung erscheint korrekt."
### 6. DKV Fleet Modul — Hauptseite
expected: /modules/dkv-fleet zeigt drei Bereiche: (1) Verarbeitungshistorie-Tabelle mit Spalten Datum/Rechnungsnummer/Status/Fahrzeuge, (2) Export-Dateiliste, (3) "Jetzt prüfen"-Button. Bei leerem System zeigt die Tabelle einen leeren Zustand (kein Crash).
result: pass
note: "MODULE_REGISTRY-Eintrag für dkv-fleet ergänzt. URL: /modules/fleet/dkv-fleet"
### 7. DKV Einstellungen — Posteingang-Konfiguration
expected: /modules/dkv-fleet/settings zeigt einen Tab "Posteingang" mit Formular für IMAP- oder Exchange-Zugangsdaten (Host, Port, Benutzername, Passwort). Formular kann ausgefüllt und gespeichert werden.
result: pass
note: "Exchange-Verbindung via NTLM erfolgreich. Hinweis: Domain-Feld leer lassen (oder echten AD-Domain-Namen eintragen) — Beispielwert 'CONTOSO' verursacht 401."
### 8. DKV Einstellungen — Fahrzeuge-Tabelle
expected: Klick auf "Fahrzeuge"-Tab navigiert zu /modules/dkv-fleet/vehicles. Die Seite zeigt eine Tabelle mit Spalten: Kennzeichen, Fahrer, Marke, Modell. Bei leerem System: leerer Zustand ohne Fehler. "Neues Fahrzeug"-Button o.ä. ist sichtbar.
result: [pending]
### 9. CSV-Import
expected: In der Fahrzeuge-Ansicht gibt es einen CSV-Import-Button. Nach Dateiauswahl erscheint ein Bestätigungs-Dialog für den Ersetzen-Modus ("Alle bestehenden Fahrzeuge werden überschrieben"). Nach Bestätigung erscheint eine Erfolgs-Meldung mit der Anzahl importierter Fahrzeuge.
result: [pending]
## Summary
total: 9
passed: 6
issues: 0
pending: 3
skipped: 0
blocked: 0
## Gaps
[none yet]