Files
SnapOtter/tests/qa/playwright.editor-qa.config.ts
T
SnapOtterandGitHub d8cf979d4b fix: resolve 18 QA-discovered bugs across tools, previews, and the AI pipeline (#242)
Exhaustive QA sweep of all 157 tools. Fixes: CSP blob media, csv-excel ExcelJS interop, ocr-pdf segfault, chart-maker upload, non-PDF doc preview, RAW decode, merge-tool multi-file path, html-to-image chromium, ogv/wma/amr/ac3 preview fallbacks, meme/gif/stabilize codecs, nav+home a11y. Plus orphan-format and test-debt cleanup, the AI bundle build script, and a reusable Playwright QA harness under tests/qa/.
2026-06-15 22:26:24 +08:00

46 lines
1.2 KiB
TypeScript

import path from "node:path";
import { defineConfig, devices } from "@playwright/test";
// Editor QA config: drives the isolated QA Docker container (auth off).
// The editor is mostly client-side Konva, so it is light on the container.
//
// docker compose -f tests/qa/docker-compose.qa.yml up -d
// pnpm playwright test --config tests/qa/playwright.editor-qa.config.ts --workers=2
const QA_BASE_URL = process.env.QA_BASE_URL || "http://localhost:13499";
const repoRoot = path.join(__dirname, "..", "..");
export default defineConfig({
testDir: ".",
testMatch: /editor\.qa\.spec\.ts$/,
timeout: 90_000,
expect: { timeout: 15_000 },
fullyParallel: false,
workers: 2,
retries: 0,
reporter: [
["list"],
[
"json",
{
outputFile: path.join(repoRoot, "docs", "qa", "editor-results.json"),
},
],
],
outputDir: path.join(repoRoot, "test-results", "qa-editor-artifacts"),
use: {
baseURL: QA_BASE_URL,
trace: "retain-on-failure",
screenshot: "only-on-failure",
viewport: { width: 1440, height: 900 },
actionTimeout: 20_000,
navigationTimeout: 30_000,
},
projects: [
{
name: "qa-editor-chrome",
use: { ...devices["Desktop Chrome"], channel: "chrome" },
},
],
});