mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
import { defineConfig } from "@playwright/test";
|
|||
|
|
|
||
|
|
/**
|
||
|
|
* Playwright config for the ADMIN PANEL e2e suite — the server-embedded SPA
|
||
|
|
* (Server/admin/static/index.html), driven against a REAL server started by
|
||
|
|
* tests/e2e/admin/start-server.sh (fresh temp data dir, TLS off, loopback).
|
||
|
|
*
|
||
|
|
* Unlike the mocked-Tauri web suite this exercises the true stack: chi
|
||
|
|
* router, admin middleware/gates, SQLite, and the SPA itself. The journey is
|
||
|
|
* stateful by design (first-run wizard creates the owner the later tests log
|
||
|
|
* in as), so it runs serially in one worker against one server instance.
|
||
|
|
*
|
||
|
|
* Usage: npm run test:e2e:admin (requires the Go toolchain)
|
||
|
|
*/
|
||
|
|
const PORT = process.env.OWNCORD_ADMIN_E2E_PORT ?? "18446";
|
||
|
|
|
||
|
|
export default defineConfig({
|
||
|
|
testDir: "./tests/e2e/admin",
|
||
|
|
timeout: 30_000,
|
||
|
|
expect: { timeout: 5_000 },
|
||
|
|
fullyParallel: false,
|
||
|
|
workers: 1,
|
||
|
|
retries: process.env.CI ? 2 : 1,
|
||
|
|
reporter: process.env.CI
|
||
|
|
? [
|
||
|
|
["html", { open: "never" }],
|
||
|
|
["junit", { outputFile: "test-results/admin-junit.xml" }],
|
||
|
|
]
|
||
|
|
: "html",
|
||
|
|
|
||
|
|
use: {
|
||
|
|
baseURL: `http://127.0.0.1:${PORT}`,
|
||
|
|
screenshot: "only-on-failure",
|
||
|
|
trace: "on-first-retry",
|
||
|
|
contextOptions: { reducedMotion: "reduce" },
|
||
|
|
},
|
||
|
|
|
||
|
|
webServer: {
|
||
|
|
command: "bash tests/e2e/admin/start-server.sh",
|
||
|
|
url: `http://127.0.0.1:${PORT}/health`,
|
||
|
|
reuseExistingServer: !process.env.CI,
|
||
|
|
// First run compiles the Go server; CI cold caches need the headroom.
|
||
|
|
timeout: 240_000,
|
||
|
|
},
|
||
|
|
});
|