Introduces a localStorage-backed messy-desktop challenge with sub-steps, drag-and-drop and Places/Back navigation, IBM Plex Mono, and a /api/health endpoint. Adds Vitest coverage for the API and level logic plus Playwright smoke tests. Made-with: Cursor
31 lines
849 B
TypeScript
31 lines
849 B
TypeScript
import { defineConfig, devices } from "@playwright/test";
|
|
|
|
export default defineConfig({
|
|
testDir: "./e2e",
|
|
fullyParallel: true,
|
|
forbidOnly: !!process.env.CI,
|
|
retries: process.env.CI ? 2 : 0,
|
|
workers: process.env.CI ? 1 : undefined,
|
|
reporter: process.env.CI ? "github" : "html",
|
|
use: {
|
|
baseURL: "http://127.0.0.1:3000",
|
|
trace: "on-first-retry",
|
|
},
|
|
projects: [{ name: "chromium", use: { ...devices["Desktop Chrome"] } }],
|
|
webServer: {
|
|
command: "npm run dev",
|
|
url: "http://127.0.0.1:3000",
|
|
reuseExistingServer: !process.env.CI,
|
|
timeout: 120_000,
|
|
env: {
|
|
...process.env,
|
|
NODE_ENV: "development",
|
|
SKIP_ENV_VALIDATION: "1",
|
|
DATABASE_URL: "file:./prisma/db.sqlite",
|
|
AUTH_SECRET:
|
|
process.env.AUTH_SECRET ??
|
|
"playwright-local-dev-secret-32chars!!",
|
|
},
|
|
},
|
|
});
|