# TUI-Tests – Terminal UI TUI-Tests für `apps/cli` (Ink + React) laufen **nicht** in diesem Ordner, sondern direkt im CLI-Paket: ``` frontend/apps/cli/src/__tests__/ ├── shared/ # Bestehend: ConfirmDialog, ErrorDisplay, SuccessDisplay ├── hooks/ # Bestehend: useRoles └── screens/ # Phase 0 – wird hier ausgebaut ├── masterdata/ │ ├── SupplierForm.test.tsx │ ├── SupplierList.test.tsx │ └── CategoryForm.test.tsx └── production/ └── RecipeForm.test.tsx ``` ## Warum nicht hier? TUI-Tests nutzen `vitest` + `ink-testing-library` und sind eng am Quellcode der CLI-App. Sie gehören zum CLI-Paket (`@effigenix/cli`) und laufen mit dem bestehenden Vitest-Setup. Ein separates Package wäre unnötiger Overhead. ## Tests ausführen ```bash # Alle TUI-Tests pnpm --filter @effigenix/cli test # Mit Watch pnpm --filter @effigenix/cli test --watch # Einzelne Spec pnpm --filter @effigenix/cli test SupplierForm ``` ## Abgrenzung | TUI-Tests | API E2E-Tests (Playwright) | |---|---| | "Rendert der Screen korrekt?" | "Funktioniert das Backend?" | | Validierungsfehler sichtbar? | Akzeptanzkriterien aus Issues | | Tastatur-Navigation korrekt? | Kein UI-Rendering | | API-Calls via `vi.mock()` | Echtes Backend via Docker | Details: [`../docs/ui-testing-automation.md`](../docs/ui-testing-automation.md) Abschnitt 9. ## Zukünftig: Scanner / Tauri Sollte Tauri-Testing (Appium o.ä.) aufgenommen werden, käme ein `scanner/`-Ordner auf derselben Ebene wie `web-ui/` und `tui/` hinzu.