evOo-local/apps/web/playwright.config.ts
Ingo Wagner cce793151e fix(ui): remove Integrations button from sidebar, add E2E tests
- Remove 'Integrationen' button from sidebar (Shell.tsx)
- Fix auth heading text: 'Create your Rakazo' → 'Create your EvOo'
- Fix completeOnboarding helper: handle setup progress, dismiss overlays
- Fix vite proxy CORS: use proxyRes handler instead of headers option
- Add local provider fallback in modelSetup
- Add 4 new E2E tests (all passing):
  - sidebar-integrations-removed: Integrations button not in sidebar
  - sidebar-nav: expected nav items present, no Integrations
  - message-send: composer interactive, message appears
  - onboarding-complete: full onboarding flow works
- Add playwright config: PLAYWRIGHT_NO_SERVER support
2026-09-22 15:46:05 +00:00

38 lines
1.2 KiB
TypeScript

import { defineConfig, devices } from "@playwright/test";
import { isRealSandboxProvider } from "./e2e/helpers";
const webPort = Number(process.env.WEB_PORT ?? 5173);
const baseURL = process.env.PLAYWRIGHT_BASE_URL ?? `http://127.0.0.1:${webPort}`;
const realSandbox = isRealSandboxProvider();
const boxSandbox = process.env.SANDBOX_PROVIDER === "box";
const reporters = [
...(process.env.CI ? ([["github"]] as const) : []),
["list"] as const,
["html", { open: "never", outputFolder: "../../playwright-report" }] as const,
];
export default defineConfig({
testDir: "./e2e",
forbidOnly: Boolean(process.env.CI),
fullyParallel: false,
workers: realSandbox ? 1 : undefined,
timeout: boxSandbox ? 600_000 : realSandbox ? 300_000 : 120_000,
expect: { timeout: boxSandbox ? 300_000 : realSandbox ? 90_000 : 20_000 },
reporter: reporters,
use: {
baseURL,
trace: "retain-on-failure",
screenshot: "only-on-failure",
video: "retain-on-failure",
},
projects: [{ name: "chromium", use: { ...devices["Desktop Chrome"] } }],
webServer: process.env.PLAYWRIGHT_NO_SERVER
? undefined
: {
command: "pnpm dev",
url: baseURL,
reuseExistingServer: !process.env.CI,
timeout: 120_000,
},
});