|
All checks were successful
Correct the focus comment (refs #61), test Space key and focus state, prove scrollability at 200 percent text, drop needless minWidth, English doc comment, allow OutlinedButton as secondary action in standalone cards, English prompt text says plays instead of games. Refs #49 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| support | ||
| tests | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.ts | ||
| README.md | ||
| tsconfig.json | ||
E2E-Tests (Playwright)
Auth-Tests für KTO-01 (Spec docs/specs/1-auth-registrierung-anmeldung.md § 7, Issue #38). Jeder Test
nutzt zufällige E-Mail-Adressen und filtert Mails je Adresse (Mailpit wird nie global geleert),
die Tests laufen deshalb parallel.
Projekte
| Projekt | Ziel | Voraussetzung | Tests |
|---|---|---|---|
api |
GoTrue über Kong (:54321) + Mailpit (:54324) + Postgres (:54322) |
supabase start |
52 |
web |
gebaute Flutter-Web-App auf http://localhost:3000 |
zusätzlich flutter build web |
27 |
throttle |
Extra-GoTrue-Container mit GOTRUE_RATE_LIMIT_HEADER (AUTH-CFG-13) |
THROTTLE_GOTRUE_URL |
4 |
spike |
GoTrue mit unerreichbarem SMTP (Issue #37), nicht blockierend | SPIKE_GOTRUE_URL |
3 |
throttle und spike werden nur registriert, wenn die jeweilige Variable gesetzt ist.
Lokal ausführen
supabase start -x studio,imgproxy,vector,logflare,edge-runtime,postgres-meta,realtime,storage-api
supabase db reset
# Web-Build gegen die lokale CLI (echten Anon-Key aus `supabase status -o env` eintragen)
cd app && flutter build web --dart-define-from-file=env/ci.example.json # SUPABASE_URL/ANON_KEY anpassen
cd ../e2e && npm ci && npx playwright install chromium
npx playwright test --project=api
npx playwright test --project=web # startet `serve -s ../app/build/web -l 3000` selbst
# Drosselung (Krit. 7) und SMTP-Spike
./support/start-throttle-gotrue.sh start throttle # :9998
./support/start-throttle-gotrue.sh start smtp-down # :9997
THROTTLE_GOTRUE_URL=http://127.0.0.1:9998 SPIKE_GOTRUE_URL=http://127.0.0.1:9997 npx playwright test
./support/start-throttle-gotrue.sh stop throttle; ./support/start-throttle-gotrue.sh stop smtp-down
Umgebungsvariablen (Standard = lokale CLI-Demo-Werte, keine Secrets): SUPABASE_URL,
SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY, MAILPIT_URL, E2E_DB_URL, WEB_URL,
TERMS_VERSION, E2E_ALLOWED_HOSTS (zusätzlich erlaubte Hosts für SUPABASE_URL/MAILPIT_URL/E2E_DB_URL, kommagetrennt; Standard nur 127.0.0.1, localhost, [::1]).
Aufbau
support/auth-config.ts– Konstanten mitAUTH-CFG-nn-Bezug;tests/api/config.spec.tsprüft sie gegensupabase/config.tomlunddocs/auth-konfiguration.md.support/gotrue.ts,support/mailpit.ts– REST-Client und Mailfänger-Helfer.support/db.ts– direkter Postgres-Zugriff, nur lokal/CI (bricht bei anderem Host ab); setztrecovery_sent_at/confirmation_sent_atfür Ablauftests.support/web.ts– Flutter-Web-Helfer (Semantics einschalten, Felder füllen, Uhr verschieben).support/start-throttle-gotrue.sh– zweiter GoTrue-Container (Profilethrottle,smtp-down).
Hinweise zum Web-Projekt
- Flutter zeichnet auf Canvas. Der Semantics-Baum wird über
flt-semantics-placeholdereingeschaltet (enableSemantics). - Eingabefelder werden mit
click+pressSequentiallygefüllt;fillallein geht gelegentlich verloren. - Immer
localhost(nicht127.0.0.1): Die Mail-Links nutzen die Site-URL (AUTH-CFG-01), sonst liegt die Sitzung in einem anderenlocalStorage. - Gegen die gemeinsame CLI-Instanz werden nie
X-Forwarded-For-Header gesendet (R13).