feat(frontend): Shared Helpers + Component-Rendering-Tests Stufe 1-2 #270

Merged
niboer merged 1 commit from feat/frontend-test-phase2 into main 2026-07-08 20:15:12 +02:00
Owner

Allgemein

Altes Verhalten

  • Shared Helpers fuer Cookies, Tokens, Event-Mocks fehlten
  • Kein $app/forms-Mock (benoetigt fuer action-menu, modals)
  • Nach PR #269: 3 Rendering-Tests (status-badge, empty-state, data-table)
  • createForm() in guests.test.ts dupliziert createFormData()

Neues Verhalten

  • Neue Shared Helpers in src/test/:
    • helpers/cookies.ts: createMockCookies()
    • helpers/auth.ts: createToken(payload)
    • factories/invitation.ts: buildInvitation()
    • factories/summary.ts: buildSummary()
    • app-mocks.ts: $app/forms-Mock (enhance) ergaenzt
  • Migration: guests.test.ts nutzt createFormData aus test/index.ts
  • 7 neue Component-Rendering-Tests (47 Tests insgesamt):
    • toast (6 Tests): success/primary/error-Varianten, details, retry
    • form-field (4 Tests): label, required, hint vs error
    • error-alert (3 Tests): message, details, retry
    • page-header (3 Tests): title, description, children
    • app-shell (3 Tests): Sidebar-Props, hamburger-toggle
    • sidebar (5 Tests): userName, roles, permission-gating
    • action-menu (4 Tests): toggle, onClick, destructive-variant

Test-Hinweise

  • cd frontend && npm run test — 35 Files, 947 passed
  • cd frontend && npx vitest run --coverage — Coverage gruen

Checkliste

  • use:testid an neuen <button>, <a>, <form>-Elementen gesetzt?
  • Korrespondierender E2E-Test in e2e/specs/ angelegt?
### Allgemein - refs #268 (Fortsetzung nach PR #269) ### Altes Verhalten - Shared Helpers fuer Cookies, Tokens, Event-Mocks fehlten - Kein $app/forms-Mock (benoetigt fuer action-menu, modals) - Nach PR #269: 3 Rendering-Tests (status-badge, empty-state, data-table) - createForm() in guests.test.ts dupliziert createFormData() ### Neues Verhalten - Neue Shared Helpers in src/test/: - helpers/cookies.ts: createMockCookies() - helpers/auth.ts: createToken(payload) - factories/invitation.ts: buildInvitation() - factories/summary.ts: buildSummary() - app-mocks.ts: $app/forms-Mock (enhance) ergaenzt - Migration: guests.test.ts nutzt createFormData aus test/index.ts - 7 neue Component-Rendering-Tests (47 Tests insgesamt): - toast (6 Tests): success/primary/error-Varianten, details, retry - form-field (4 Tests): label, required, hint vs error - error-alert (3 Tests): message, details, retry - page-header (3 Tests): title, description, children - app-shell (3 Tests): Sidebar-Props, hamburger-toggle - sidebar (5 Tests): userName, roles, permission-gating - action-menu (4 Tests): toggle, onClick, destructive-variant ### Test-Hinweise - cd frontend && npm run test — 35 Files, 947 passed - cd frontend && npx vitest run --coverage — Coverage gruen ### Checkliste - [x] `use:testid` an neuen `<button>`, `<a>`, `<form>`-Elementen gesetzt? - [x] Korrespondierender E2E-Test in `e2e/specs/` angelegt?
feat(frontend): Phase-4 Shared Helpers + Phase-3 Rendering-Tests (Stufe 1-2)
All checks were successful
CI Backend / lint-backend (pull_request) Successful in 53s
CI Frontend / lint-frontend (pull_request) Successful in 1m14s
CI Meta / conventional-commit (pull_request) Successful in 1s
E2E / e2e (pull_request) Successful in 3m39s
CI Backend / test-backend (pull_request) Successful in 2m54s
CI Frontend / test-frontend (pull_request) Successful in 57s
92cd376a2d
refs #268

Aktuelles:
- Keine Shared Helpers fuer Cookies, Tokens, Event-Mocks
- Kein /forms-Mock (benoetigt fuer action-menu, modals)
- Nur 3 Component-Rendering-Tests (status-badge, empty-state,
  data-table)

Neu:
- Shared Helpers in src/test/:
  - helpers/cookies.ts: createMockCookies()
  - helpers/auth.ts: createToken(payload)
  - factories/invitation.ts: buildInvitation()
  - factories/summary.ts: buildSummary()
  - index.ts: Alle neuen Exports
  - app-mocks.ts: /forms-Mock (enhance) ergaenzt
- Migration: guests.test.ts: createForm durch createFormData ersetzt
  self-service.test.ts: tote createForm entfernt
- 7 neue .component.test.ts-Dateien (47 Tests):
  Stufe 1: toast (6), form-field (4), error-alert (3),
           page-header (3), app-shell (3)
  Stufe 2: sidebar (5), action-menu (4)
- .component.test.ts-Tests entfernen keine readFileSync-Tests
  (parallel-Betrieb)

Wichtige Aenderung:
- /*-Mocks muessen pro Test-File via vi.mock() deklariert werden
  (kein Hoisting aus importierten Modulen)
niboer merged commit 67688bb6cb into main 2026-07-08 20:15:12 +02:00
niboer deleted branch feat/frontend-test-phase2 2026-07-08 20:15:12 +02:00
Sign in to join this conversation.
No description provided.