Files
kochwas/tests/e2e/remote
hsiegeln 6bde3909d8
All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m22s
polish(sections): Muelltonne statt X + Ueberschrift groesser/fetter
- IngredientRow: Sektion-entfernen-Button nutzt Trash2 (konsistent
  mit dem Zutat-Entfernen-Button daneben)
- RecipeView: section-heading von 1rem/600 auf 1.2rem/700, mehr
  vertikaler Abstand fuer deutlichere optische Trennung
- E2E-Spec: type-inference-Trick durch APIRequestContext-Import
  ersetzt (svelte-check stolperte bei typeof test mit TestDetails-
  Overload)
- Plan-Datei der Feature-Session mitcommitet

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 15:26:39 +02:00
..

E2E-Tests gegen kochwas-dev

Playwright-Smoketests gegen ein deployed Environment — standardmaessig https://kochwas-dev.siegeln.net. Loest die bisherigen manuellen MCP-Runs ab.

Setup (einmalig)

npm install
npx playwright install chromium

Ausfuehren

npm run test:e2e:remote             # Headless, alle Tests
npm run test:e2e:remote -- --ui     # Mit Playwright-UI (Trace-Viewer)
npm run test:e2e:remote -- --debug  # Step-by-Step

Alternative URL:

E2E_REMOTE_URL=https://kochwas.siegeln.net npm run test:e2e:remote

Was abgedeckt ist

Happy Paths (UI)

Spec Was
homepage.spec.ts H1, Recents/Alle-Rezepte-Sektionen, Sort-Tabs rendern unterschiedlich, keine Console-Errors
search.spec.ts Lokaler Treffer, Web-Fallback, Empty-State, Deep-Link ?q=
profile.spec.ts Switcher-Dialog, Auswahl persistiert, "Deine Favoriten" erscheint nach Login
recipe-detail.spec.ts Header, Portionen-Skalierung (4->6, Mengen proportional), Favorit-Toggle, Rating persistiert ueber Reload, Gekocht-Counter, Wunschliste-Toggle
comments.spec.ts Eigenen Kommentar erstellen + via UI-Button loeschen; fremder Kommentar hat keinen Delete-Button
wishlist.spec.ts Seite laedt, Sort-Tabs, Header-Badge spiegelt API-Zaehler
preview.spec.ts Guard ohne ?url=, echte URL laedt JSON-LD-Parsing, unparsbare URL zeigt error-box
admin.spec.ts Alle 4 Admin-Subrouten laden mit Tab-Nav, /admin redirected

Negative Paths (API)

Spec Was
api-errors.spec.ts parsePositiveIntParam → 400 Invalid id (4 Call-Sites), validateBody → 400 {message, issues} (4 Call-Sites), 404 auf missing Ressource, Positiv-Sanity fuer /health, /profiles, /domains

Design-Entscheidungen

workers: 1. Tests mutieren echte Daten auf kochwas-dev (Rating, Favorit, Wunschliste, Kommentare). Parallelitaet wuerde Race-Conditions geben. afterEach raeumt per API auf — idempotent.

Hardcoded Test-Fixtures. Rezept-ID 66 (Chicken Teriyaki) und Profile 1/2/3 (Hendrik/Verena/Leana) sind stabil auf dev. Bei DB-Reset muessen ggf. die Konstanten angepasst werden.

Kein Build/Server-Start. Im Gegensatz zur lokalen playwright.config.ts startet diese Config keinen Preview-Server — die Tests laufen gegen das CI-Build auf dev.

Was NICHT hier ist

  • Service-Worker-Lifecycle / Offlinetests/e2e/offline.spec.ts (lokal).
  • Bild-Upload — File-Dialog + echte Dateien; nur manuell sinnvoll.
  • Drucken — oeffnet window.print(), headless unzuverlaessig.
  • Sync unter Last — braucht dediziertes Harness, nicht Smoke-Scope.