Die Marke oben in der Seitenleiste trägt jetzt das Coinstack-Symbol aus den Altdaten und den zweifarbigen Schriftzug Finanz|manager – wie die sidebar-brand im Steuerkram. Sie ist zugleich der Schalter: Ein Klick schiebt die Leiste von 232 px auf 64 px zusammen, ein Klick auf das Symbol klappt sie wieder auf. Die Menüpunkte behalten dabei Ziel und Symbol. Der Zustand steht in einem Cookie und nicht im localStorage: So rendert der Server die Leiste schon in der richtigen Breite, statt sie bei jedem Seitenwechsel kurz breit aufblitzen zu lassen. Die Beschriftungen wandern eingeklappt per clip-path aus dem Bild statt per display:none – sonst verlören die Verweise ihren Namen für Vorleseprogramme. Nebenbei: Die Marke hieß bisher .marke, wie die kleine Statusmarke weiter unten im Stilblatt, deren Regeln sie überschrieben. Sie heißt jetzt .seitenleisten-marke. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| specs | ||
| package-lock.json | ||
| package.json | ||
| playwright.config.js | ||
| README.md | ||
| run.sh | ||
E2E-Tests
Browser-Tests mit Playwright, ausgeführt über das Projekt
e2e-runner. Auf dem Host wird nichts installiert – der
Runner startet je Lauf einen frischen Container und räumt ihn danach weg.
Voraussetzungen
Die Anwendung muss vor dem Testlauf laufen und vom Host erreichbar sein:
docker compose up -d
Einmalig den Testnutzer anlegen:
docker compose exec -u www-data php php scripts/e2e-benutzer.php
Ausführen
tests/e2e/run.sh
Fehlt Docker, der Runner oder das Playwright-Image, wird mit Exit-Code 0 übersprungen statt fehlzuschlagen.
Abweichende Werte:
BASE_URL=http://host.docker.internal:8000 tests/e2e/run.sh
E2E_USER=e2e E2E_PASSWORD=geheim tests/e2e/run.sh
E2E_RUNNER_DIR=/pfad/zum/runner tests/e2e/run.sh
Lockfile
package.json pinnt @playwright/test auf die Version des Runner-Images
(aktuell 1.61.1). Das Lockfile wird ohne lokale Node-Installation erzeugt:
docker run --rm -u "$(id -u):$(id -g)" -e HOME=/tmp -v "$PWD/tests/e2e":/work -w /work \
mcr.microsoft.com/playwright:v1.61.1-noble npm install --package-lock-only
Welche Ebene wofür
Hierher gehört nur, was einen Browser braucht: Formularabläufe, Redirects,
gerenderte Views, JavaScript. Rechen- und Model-Logik gehört in die PHP-Suite
(tests/NN_*.php) – schneller und isoliert.
Berichte
HTML-Report, Screenshots und Traces landen nach einem Lauf in
playwright-report/ und test-results/ (beide nicht im Repository).