* style(workspace): align approved shell and visual fixtures * test(workflows): preserve evidence across browser projects * style(workspace): match approved image browsing geometry * style(workspace): match natural library card layout * fix(workspace): retain wheel motion during row correction * fix(workspace): contain zoomed controls and image metadata (#215)
28 lines
1.3 KiB
JavaScript
28 lines
1.3 KiB
JavaScript
import { defineConfig, devices } from '@playwright/test';
|
|
import { repositoryRoot } from './vendor-viewerjs.mjs';
|
|
const port = Number(process.env.PM_TEST_PORT || 8765);
|
|
export default defineConfig({
|
|
testDir: '../../tests/browser',
|
|
outputDir: './test-results/workflows',
|
|
testMatch: '*.spec.mjs',
|
|
workers: 1,
|
|
fullyParallel: false,
|
|
forbidOnly: Boolean(process.env.CI),
|
|
retries: 0,
|
|
reporter: 'list',
|
|
use: { baseURL: `http://127.0.0.1:${port}`, trace: 'retain-on-failure', screenshot: 'only-on-failure' },
|
|
webServer: {
|
|
command: `node tools/vendor/start-browser-server.mjs --port ${port}`,
|
|
cwd: repositoryRoot,
|
|
url: `http://127.0.0.1:${port}/prompt_manager/test`,
|
|
reuseExistingServer: false,
|
|
gracefulShutdown: { signal: 'SIGTERM', timeout: 5000 },
|
|
},
|
|
projects: [
|
|
{ name: 'chromium', outputDir: './test-results/workflows/chromium', use: { browserName: 'chromium' } },
|
|
{ name: 'firefox', outputDir: './test-results/workflows/firefox', use: { browserName: 'firefox' } },
|
|
{ name: 'webkit', outputDir: './test-results/workflows/webkit', use: { browserName: 'webkit' } },
|
|
{ name: 'touch', outputDir: './test-results/workflows/touch', use: { ...devices['Pixel 7'], browserName: 'chromium' } },
|
|
],
|
|
});
|