E2E: User-Context in .test-coverage.json via specs-Array dokumentieren #258

Closed
opened 2026-07-06 21:14:09 +02:00 by niboer · 0 comments
Owner

Allgemein

Bei der Erstellung neuer E2E-Tests ist oft unklar, welcher DEV_User (max.mustermann, thomas.koenig, petra.musterfrau) in welcher Spec verwendet wird. Die .test-coverage.json bildet aktuell nur Route → Spec ab, nicht aber den User-Context.

Altes Verhalten

.test-coverage.json hat pro Route ein flaches Schema mit spec und status:

{ "route": "/app/groups", "spec": "specs/test-2-independent/groups.spec.ts", "status": "covered" },

check-e2e-coverage.mjs validiert nur Existenz der Spec-Datei, nicht aber den User-Context. Bei Routen, die von mehreren Usern getestet werden (z. B. /app/groups via groups.spec.ts als Max + group-create.spec.ts als Thomas), gibt es keine strukturelle Abbildung.

Neues Verhalten

.test-coverage.json bekommt ein specs-Array statt eines einzelnen spec-Strings:

{
  "route": "/app/groups",
  "status": "covered",
  "specs": [
    { "spec": "specs/test-2-independent/groups.spec.ts", "users": ["max.mustermann"] },
    { "spec": "specs/test-3-workflows/group-create.spec.ts", "users": ["thomas.koenig"] }
  ]
}

Jeder Spec-Eintrag fuehrt explizit die User auf, die im beforeAll/describe-Block eingeloggt werden.

Umsetzung

  1. .test-coverage.json auf specs[]-Schema umstellen (alle 15 Routen)
  2. scripts/check-e2e-coverage.mjs anpassen:
    • entry.specentry.specs[].spec parsen
    • Jeder Eintrag muss users als non-empty Array haben
    • Validierung gegen DEV_USERS-Usernamen aus e2e/fixtures/test-data.ts
  3. docs/design/07-e2e-tests.md aktualisieren (Schema-Doku + Spec-Detail-Tabelle um User-Spalte)
  4. AGENTS.md im Abschnitt "Route-Test-Mapping" ergaenzen: users-Feld-Pflicht

Referenzen

  • .test-coverage.json wird via scripts/check-e2e-coverage.mjs validiert (laueft in CI vor E2E-Tests)
  • DEV_USERS sind in e2e/fixtures/test-data.ts definiert (3 User: max.mustermann, petra.musterfrau, thomas.koenig)
## Allgemein Bei der Erstellung neuer E2E-Tests ist oft unklar, welcher DEV_User (max.mustermann, thomas.koenig, petra.musterfrau) in welcher Spec verwendet wird. Die `.test-coverage.json` bildet aktuell nur Route → Spec ab, nicht aber den User-Context. ## Altes Verhalten `.test-coverage.json` hat pro Route ein flaches Schema mit `spec` und `status`: ```json { "route": "/app/groups", "spec": "specs/test-2-independent/groups.spec.ts", "status": "covered" }, ``` `check-e2e-coverage.mjs` validiert nur Existenz der Spec-Datei, nicht aber den User-Context. Bei Routen, die von mehreren Usern getestet werden (z. B. `/app/groups` via `groups.spec.ts` als Max + `group-create.spec.ts` als Thomas), gibt es keine strukturelle Abbildung. ## Neues Verhalten `.test-coverage.json` bekommt ein `specs`-Array statt eines einzelnen `spec`-Strings: ```json { "route": "/app/groups", "status": "covered", "specs": [ { "spec": "specs/test-2-independent/groups.spec.ts", "users": ["max.mustermann"] }, { "spec": "specs/test-3-workflows/group-create.spec.ts", "users": ["thomas.koenig"] } ] } ``` Jeder Spec-Eintrag fuehrt explizit die User auf, die im `beforeAll`/`describe`-Block eingeloggt werden. ## Umsetzung 1. [ ] `.test-coverage.json` auf `specs[]`-Schema umstellen (alle 15 Routen) 2. [ ] `scripts/check-e2e-coverage.mjs` anpassen: - `entry.spec` → `entry.specs[].spec` parsen - Jeder Eintrag muss `users` als non-empty Array haben - Validierung gegen DEV_USERS-Usernamen aus `e2e/fixtures/test-data.ts` 3. [ ] `docs/design/07-e2e-tests.md` aktualisieren (Schema-Doku + Spec-Detail-Tabelle um User-Spalte) 4. [ ] AGENTS.md im Abschnitt "Route-Test-Mapping" ergaenzen: `users`-Feld-Pflicht ## Referenzen - `.test-coverage.json` wird via `scripts/check-e2e-coverage.mjs` validiert (laueft in CI vor E2E-Tests) - DEV_USERS sind in `e2e/fixtures/test-data.ts` definiert (3 User: max.mustermann, petra.musterfrau, thomas.koenig)
Sign in to join this conversation.
No description provided.