Steuerkram an den e2e-runner angebunden (tests/e2e/, 44 Playwright-Tests). Der erste Smoke-Lauf fand zwei Seiten mit HTTP 500: AccountController::create las $_GET['from'] ungeprüft, assets/form.php nutzte $testMode und $defaultKontoId außerhalb des Bearbeiten-Zweigs. Beides war bis zur Fehler-Härtung (#142) nur eine stille Warning. Test 67 räumt sein Belegverzeichnis jetzt mit ab - es blieb als root-eigenes Verzeichnis liegen und blockierte spätere echte Uploads mit HTTP 500. Test 77 (neu) sichert die Löschsperre von Beleg::delete() ab.
32 lines
1.4 KiB
Bash
Executable file
32 lines
1.4 KiB
Bash
Executable file
#!/bin/sh
|
||
# E2E-Tests über den generischen e2e-runner ausführen.
|
||
# Die Tests sind OPTIONAL: Fehlt die Infrastruktur (Docker, Runner-Projekt,
|
||
# gepulltes Playwright-Image), wird nur eine Warnung ausgegeben und mit
|
||
# Exit-Code 0 übersprungen — es wird nichts nachinstalliert oder gepullt.
|
||
set -eu
|
||
|
||
TEST_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
||
RUNNER_DIR=${E2E_RUNNER_DIR:-$HOME/projects/e2e-runner}
|
||
BASE_URL=${BASE_URL:-http://host.docker.internal:8080}
|
||
|
||
skip() {
|
||
echo "WARNUNG: $1 — E2E-Tests werden übersprungen." >&2
|
||
exit 0
|
||
}
|
||
|
||
command -v docker >/dev/null 2>&1 || skip "Docker nicht gefunden"
|
||
docker info >/dev/null 2>&1 || skip "Docker-Daemon nicht erreichbar"
|
||
[ -f "$RUNNER_DIR/docker-compose.yml" ] || skip "e2e-runner-Projekt nicht gefunden ($RUNNER_DIR)"
|
||
|
||
IMAGE=$(sed -n 's/^ *image: *//p' "$RUNNER_DIR/docker-compose.yml" | head -n1)
|
||
[ -n "$IMAGE" ] || skip "Playwright-Image im Compose-File nicht ermittelbar"
|
||
docker image inspect "$IMAGE" >/dev/null 2>&1 \
|
||
|| skip "Playwright-Image $IMAGE nicht vorhanden (docker pull $IMAGE)"
|
||
|
||
# Zugangsdaten des Testnutzers durchreichen. Der Runner ist projekt-agnostisch
|
||
# und kennt nur BASE_URL – die Defaults stehen in helpers/env.js.
|
||
cd "$RUNNER_DIR"
|
||
TEST_DIR="$TEST_DIR" BASE_URL="$BASE_URL" exec docker compose run --rm \
|
||
${E2E_USER:+-e E2E_USER="$E2E_USER"} \
|
||
${E2E_PASSWORD:+-e E2E_PASSWORD="$E2E_PASSWORD"} \
|
||
playwright
|