Files
SnapOtter/playwright.config.ts
T
Siddharth Kumar Sah 0e7348a0be fix: unify project on port 1349, improve strip-metadata and UI components
Consolidate all access to localhost:1349 — Vite dev server serves on 1349
and proxies API calls to an internal dev port (13490). Production API
defaults to 1349. Also includes strip-metadata improvements, UI component
updates, and compress operation fixes.
2026-03-23 16:38:27 +08:00

66 lines
1.4 KiB
TypeScript

import { defineConfig, devices } from "@playwright/test";
import path from "node:path";
const authFile = path.join(__dirname, "test-results", ".auth", "user.json");
export default defineConfig({
testDir: "./tests/e2e",
timeout: 30_000,
expect: {
timeout: 10_000,
toHaveScreenshot: {
maxDiffPixelRatio: 0.01,
animations: "disabled",
caret: "hide",
},
},
snapshotPathTemplate:
"{testDir}/__screenshots__/{testFilePath}/{arg}{ext}",
fullyParallel: false,
retries: 0,
workers: 1,
reporter: "html",
use: {
baseURL: "http://localhost:1349",
screenshot: "only-on-failure",
trace: "retain-on-failure",
},
projects: [
{
name: "setup",
testMatch: /auth\.setup\.ts/,
},
{
name: "chromium",
use: {
...devices["Desktop Chrome"],
storageState: authFile,
},
dependencies: ["setup"],
},
],
webServer: [
{
command: "pnpm --filter @stirling-image/api dev",
port: 13490,
reuseExistingServer: !process.env.CI,
env: {
PORT: "13490",
AUTH_ENABLED: "true",
DEFAULT_USERNAME: "admin",
DEFAULT_PASSWORD: "admin",
RATE_LIMIT_PER_MIN: "50000",
},
timeout: 30_000,
},
{
command: "pnpm --filter @stirling-image/web dev",
port: 1349,
reuseExistingServer: !process.env.CI,
timeout: 30_000,
},
],
});
export { authFile };