mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
import path from "node:path";
|
|||
|
|
import { defineConfig, devices } from "@playwright/test";
|
||
|
|
|
||
|
|
// QA sweep config: drives the isolated QA Docker container (auth off) with REAL
|
||
|
|
// Google Chrome (channel "chrome") so proprietary codecs (H.264/AAC/MP3) decode
|
||
|
|
// and media previews are valid. No webServer: the container is external.
|
||
|
|
//
|
||
|
|
// docker compose -f tests/qa/docker-compose.qa.yml up -d
|
||
|
|
// pnpm playwright test --config tests/qa/playwright.qa.config.ts
|
||
|
|
|
||
|
|
const QA_BASE_URL = process.env.QA_BASE_URL || "http://localhost:13499";
|
||
|
|
const repoRoot = path.join(__dirname, "..", "..");
|
||
|
|
|
||
|
|
export default defineConfig({
|
||
|
|
testDir: ".",
|
||
|
|
testMatch: /.*\.qa\.spec\.ts$/,
|
||
|
|
// Generous default; long/AI specs raise their own via test.setTimeout().
|
||
|
|
timeout: 120_000,
|
||
|
|
expect: { timeout: 15_000 },
|
||
|
|
fullyParallel: true,
|
||
|
|
forbidOnly: !!process.env.CI,
|
||
|
|
retries: process.env.QA_RETRIES ? Number(process.env.QA_RETRIES) : 0,
|
||
|
|
// Conservative: the same machine runs the container doing FFmpeg/LibreOffice/AI.
|
||
|
|
workers: process.env.QA_WORKERS ? Number(process.env.QA_WORKERS) : 4,
|
||
|
|
reporter: [
|
||
|
|
["list"],
|
||
|
|
["json", { outputFile: path.join(repoRoot, "docs", "qa", "results.json") }],
|
||
|
|
["html", { open: "never", outputFolder: path.join(repoRoot, "test-results", "qa-report") }],
|
||
|
|
],
|
||
|
|
outputDir: path.join(repoRoot, "test-results", "qa-artifacts"),
|
||
|
|
use: {
|
||
|
|
baseURL: QA_BASE_URL,
|
||
|
|
screenshot: "only-on-failure",
|
||
|
|
trace: "retain-on-failure",
|
||
|
|
video: "off",
|
||
|
|
actionTimeout: 20_000,
|
||
|
|
navigationTimeout: 30_000,
|
||
|
|
},
|
||
|
|
projects: [
|
||
|
|
{
|
||
|
|
name: "qa-chrome",
|
||
|
|
use: { ...devices["Desktop Chrome"], channel: "chrome" },
|
||
|
|
},
|
||
|
|
],
|
||
|
|
});
|