Steuerkram/tests/e2e/run.sh
fds2610-bot 7cea573ffc Fix #e2e: E2E-Tests ergänzt, /accounts/new und /assets/new lieferten HTTP 500
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.
2026-08-02 11:58:33 +02:00

32 lines
1.4 KiB
Bash
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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