Files
gold_land_user/e2e/playwright.config.ts
safavimohadeseh78andCursor e3f0457dc9
Frontend CI / unit (test, type-check, build) (push) Successful in 1m11s
Frontend CI / browser E2E (frontend + pinned backend) (push) Failing after 2m48s
feat: complete server-backed six-lesson app and trial tooling
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:40:37 +03:30

67 lines
1.9 KiB
TypeScript

import { dirname, join } from 'node:path'
import { fileURLToPath } from 'node:url'
import { defineConfig, devices } from '@playwright/test'
const frontendRoot = join(dirname(fileURLToPath(import.meta.url)), '..')
const baseURL = process.env.E2E_BASE_URL ?? 'http://localhost:5190'
const backendPort = Number(process.env.E2E_BACKEND_PORT ?? 3010)
const frontendPort = Number(process.env.E2E_FRONTEND_PORT ?? 5190)
export default defineConfig({
testDir: '.',
testMatch: '**/*.spec.ts',
timeout: 120_000,
fullyParallel: false,
forbidOnly: Boolean(process.env.CI),
retries: process.env.CI ? 1 : 0,
workers: 1,
reporter: [['list'], ['html', { open: 'never', outputFolder: 'playwright-report' }]],
globalTeardown: './global-teardown.ts',
use: {
baseURL,
trace: 'retain-on-failure',
screenshot: 'only-on-failure',
video: 'off',
locale: 'fa-IR',
},
projects: [
{
name: 'mobile',
use: {
...devices['Pixel 7'],
...(process.env.PLAYWRIGHT_CHROME_CHANNEL ? { channel: process.env.PLAYWRIGHT_CHROME_CHANNEL as 'chrome' } : {}),
},
},
{
name: 'desktop',
use: {
...devices['Desktop Chrome'],
viewport: { width: 1280, height: 800 },
...(process.env.PLAYWRIGHT_CHROME_CHANNEL ? { channel: process.env.PLAYWRIGHT_CHROME_CHANNEL as 'chrome' } : {}),
},
},
],
webServer: [
{
command: 'node scripts/e2e-backend.mjs',
cwd: frontendRoot,
url: `http://127.0.0.1:${backendPort}/health`,
timeout: 120_000,
reuseExistingServer: false,
},
{
command: `npx vite --port ${frontendPort} --strictPort`,
cwd: frontendRoot,
port: frontendPort,
timeout: 120_000,
reuseExistingServer: false,
env: {
...process.env,
VITE_DEV_PORT: String(frontendPort),
VITE_DEV_API_TARGET: `http://127.0.0.1:${backendPort}`,
VITE_E2E: '1',
},
},
],
})