mirror of
https://github.com/s-frick/effigenix.git
synced 2026-03-28 13:59:36 +01:00
init e2e ui tests base skeleton
This commit is contained in:
parent
83c7321c8f
commit
c84629cc4e
16 changed files with 1219 additions and 0 deletions
51
test-automation/tui/README.md
Normal file
51
test-automation/tui/README.md
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
# 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue