chore(frontend): fehlende testids an Dashboard, Sidebar, Toast und Personenliste ergaenzen #260
Labels
No labels
component/backend
component/docs
component/e2e
component/frontend
component/infra
component/keycloak
prio/high
prio/low
prio/medium
type/bug
type/chore
type/feature
type/refactor
type/test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
WompSchmiede/FamilienFeierPlaner#260
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
An mehreren Stellen im Frontend fehlen
data-testid-Attribute, die von E2E-Tests verwendet werden koennten. Diese sollen nachgeruestet werden.Betroffene Bereiche
Dashboard (
/app/dashboard)heading-next-eventheading-open-rsvpsheading-personsSidebar (
+layout.svelte)btn-logouttext-sidebar-nametext-sidebar-emailtext-sidebar-roletext-sidebar-sessionToast/Success-Meldungen
toast-successPersonenliste — Gruppen-Header
Gruppen-Namen und Mitglieder-Counts in der gruppierten Personen-Ansicht haben keine testids. Dies ermoeglicht stabilere E2E-Selektoren als die aktuellen
text=-Selektoren.Abgrenzung
Nicht in diesem Issue:
Checkliste
data-testidversehendata-testidversehendata-testidfuer Success-Texte versehendata-testidversehennpm run linterfolgreichscripts/check-testid.mjserfolgreichBlockiert #261 (E2E-Tests auf getByTestId umstellen).
Implementierungsplan (naechster Schritt)
Nach Analyse und Besprechung ergibt sich folgender Plan:
Neue Komponente: Toast
frontend/src/lib/components/toast.svelteersetzt sowohl die bisherigen Inline-Success-Banner als aucherror-alert.svelte.error-alert.sveltewird zum Re-Export-Wrapper auf<Toast variant="error">umgestellt, damit bestehende Imports nicht brechen.Betroffene Dateien (15 Aenderungen + 1 neue)
Neue Komponente:
frontend/src/lib/components/toast.svelteFrontend-Komponenten:
frontend/src/lib/components/error-alert.svelte— Wrapper auf Toastfrontend/src/lib/components/sidebar.svelte— text-sidebar-name, -email, -role, -sessionSeiten (testids + Banner -> Toast):
dashboard/+page.svelte— heading-next-event, -open-rsvps, -personspersons/+page.svelte— heading-group-* + member-countpersons/[personId]/+page.svelteevents/[eventId]/+page.svelte— 2x heading-group-* + 21 Banneraccount/+page.svelte— 8 Banner/Statusgroups/+page.sveltegroups/[groupId]/+page.sveltetemplates/+page.sveltedeletion-requests/+page.svelteE2E-Tests:
base.spec.ts— getByTestId fuer headings + sidebarpersons.max.mustermann.spec.ts— getByTestId fuer toast-successgroup-create.spec.ts— getByTestId fuer toast-successGit-Commits
feat(frontend): Toast-Komponente mit success/primary/error-variantchore(frontend): testids an Dashboard, Sidebar, Gruppen-Headerrefactor(frontend): saemtliche Inline-Banner durch Toast-Komponente ersetzentest(e2e): testids in base, persons und group-create E2E-Tests nutzenchore: PROJECT_STATE.md aktualisiertDokumentation
Die Toast-Komponente wird in
docs/design/04-frontend-architektur.mdim Abschnitt "App-Template-Komponenten" dokumentiert.niboer referenced this issue2026-07-08 18:18:10 +02:00