39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
import { defineConfig } from "@playwright/test";
|
|
|
|
export default defineConfig({
|
|
testDir: "./tests",
|
|
fullyParallel: false,
|
|
workers: 1,
|
|
retries: 0,
|
|
timeout: 30_000,
|
|
reporter: [
|
|
["list"],
|
|
["html", { outputFolder: "work/playwright-report", open: "never" }],
|
|
],
|
|
outputDir: "work/test-results",
|
|
use: {
|
|
baseURL: "http://127.0.0.1:18080",
|
|
channel: process.platform === "darwin" ? "chrome" : undefined,
|
|
headless: true,
|
|
viewport: { width: 1440, height: 1000 },
|
|
screenshot: "only-on-failure",
|
|
trace: "retain-on-failure",
|
|
},
|
|
webServer: {
|
|
command:
|
|
`python3 -c 'import os; from pathlib import Path; jars = sorted(Path("backend/target").glob("votian-backend-*.jar")); assert len(jars) == 1, "Run ./build.sh first: expected exactly one backend JAR"; os.execvp("java", ["java", "-jar", str(jars[0]), "--server.port=18080"])'`,
|
|
// Start the built JAR directly: do not load the developer's .env file.
|
|
// Explicitly unreachable endpoint: no test can connect to the real database.
|
|
env: {
|
|
DB_URL:
|
|
"jdbc:mariadb://127.0.0.1:1/unreachable?connectTimeout=500&socketTimeout=500",
|
|
DB_USER: "test",
|
|
DB_PASSWORD: "test",
|
|
LEGACY_APP_URL: "",
|
|
},
|
|
url: "http://127.0.0.1:18080/api/health",
|
|
reuseExistingServer: false,
|
|
timeout: 60_000,
|
|
},
|
|
});
|