Finanzmanager/tests/e2e
fds2610-bot 6ca247a40d Berichte: Tabelle mittig statt links ausgerichtet
Linksbündig wirkte die schmale Tabelle verloren neben dem zentrierten
Berichtskopf. Sie steht jetzt mittig unter Überschrift und Zeitraumzeile;
die Zahlenspalten bleiben in sich rechtsbündig. Der E2E-Test prüft, dass
links und rechts gleich viel Luft bleibt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 21:04:19 +02:00
..
specs Berichte: Tabelle mittig statt links ausgerichtet 2026-08-18 21:04:19 +02:00
package-lock.json Phase 0: Projektgerüst mit nginx, php-fpm und MariaDB 2026-08-09 20:21:42 +02:00
package.json Phase 0: Projektgerüst mit nginx, php-fpm und MariaDB 2026-08-09 20:21:42 +02:00
playwright.config.js Phase 0: Projektgerüst mit nginx, php-fpm und MariaDB 2026-08-09 20:21:42 +02:00
README.md Phase 0: Projektgerüst mit nginx, php-fpm und MariaDB 2026-08-09 20:21:42 +02:00
run.sh Phase 0: Projektgerüst mit nginx, php-fpm und MariaDB 2026-08-09 20:21:42 +02:00

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).