Finanzmanager/tests/e2e
fds2610-bot be3ee6400e Detailseite eines Wertpapiers
Der Name in Bestandsübersicht, Depotbuchungen und Stammdaten führt jetzt auf
/wertpapiere/papier/{id}: Kennzahlen über die ganze Historie, Stammdaten und
Kurs, Bestand je Depot, Wertentwicklung und die Buchungen eines Zeitraums.

Depot::bestand() und Depot::entwicklung() nehmen dafür eine Wertpapiernummer
entgegen – die Detailseite rechnet nicht selbst, sondern bekommt dieselben
Zahlen wie die Übersicht. Neu sind Wertpapier::kurseckwerte() und
Depotbuchung::datumsgrenzen().

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 15:08:01 +02:00
..
specs Detailseite eines Wertpapiers 2026-08-13 15:08:01 +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).