mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 15:39:36 +01:00
51 lines
1.6 KiB
Markdown
51 lines
1.6 KiB
Markdown
# 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.
|