Beim Zuweisen einer Kategorie fragt der Finanzmanager beim Bargeld-Tool (FSCash) nach, ob es zum Betrag dort schon eine Buchung gibt. Eingerichtet wird das unter Verwaltung → Bargeld-Tool: Adresse, Zugangsdaten (Passwort AES-verschlüsselt), Suchzeitraum und die Auswahl der abzugleichenden Kategorien. Die Vormerkung steht als `bargeld_abgleich` an der Kategorie selbst, nicht als Nummernliste in den Einstellungen – so verschwindet sie mit der Kategorie. Geprüft wird nur, was geprüft werden soll: Kategorie an der Buchung, Kategorie vorgemerkt, Adresse konfiguriert. Fällt eines weg, verschwindet der Status. Gesucht wird rückwärts ab dem Buchungsdatum, weil Bargeld ausgegeben wird, bevor der Umsatz auf dem Konto ankommt. Im Kontoblatt steht das Ergebnis zwischen Klasse und Betrag: grauer Kreis, grüner Haken, rotes X, Ausrufezeichen. Das Ausrufezeichen behält die Textfarbe des Farbschemas – der Fehler liegt beim Abruf, nicht bei der Buchung. Ohne hinterlegte Adresse entfällt die Spalte. Ein Fehlschlag ist ein Ergebnis, kein Abbruch: Die Kategorie wird auch dann gespeichert, wenn das Bargeld-Tool schweigt. 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).