test: Add playwright main usage test
Some checks failed
Queue Release Build / prepare (push) Successful in 17s
Deploy Web Apps / deploy (push) Has started running
Queue Release Build / build-windows (push) Has been cancelled
Queue Release Build / finalize (push) Has been cancelled
Queue Release Build / build-linux (push) Has been cancelled

This commit is contained in:
2026-04-11 16:48:26 +02:00
parent f33440a827
commit b10004e154
21 changed files with 1002 additions and 6 deletions

52
e2e/playwright.config.ts Normal file
View File

@@ -0,0 +1,52 @@
import { defineConfig, devices } from '@playwright/test';
const TEST_SERVER_PORT = Number(process.env.TEST_SERVER_PORT) || 3099;
export default defineConfig({
testDir: './tests',
timeout: 90_000,
expect: { timeout: 10_000 },
retries: process.env.CI ? 2 : 0,
workers: 1,
reporter: [['html', { outputFolder: '../test-results/html-report' }], ['list']],
outputDir: '../test-results/artifacts',
use: {
baseURL: 'http://localhost:4200',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
video: 'on-first-retry',
actionTimeout: 15_000,
},
projects: [
{
name: 'chromium',
use: {
...devices['Desktop Chrome'],
permissions: ['microphone', 'camera'],
launchOptions: {
args: [
'--use-fake-device-for-media-stream',
'--use-fake-ui-for-media-stream',
],
},
},
},
],
webServer: [
{
// Isolated test server with its own temporary database.
// See e2e/helpers/start-test-server.js for details.
command: `node helpers/start-test-server.js`,
port: TEST_SERVER_PORT,
reuseExistingServer: !process.env.CI,
timeout: 30_000,
env: { TEST_SERVER_PORT: String(TEST_SERVER_PORT) },
},
{
command: 'cd ../toju-app && npx ng serve',
port: 4200,
reuseExistingServer: !process.env.CI,
timeout: 120_000,
},
],
});