All files / src playwright.config.ts

0% Statements 0/13
0% Branches 0/10
0% Functions 0/1
0% Lines 0/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56                                                                                                               
import { defineConfig } from '@playwright/test'
import { join } from 'path'
 
import { appsCachePath, projects } from './consts'
 
const { APP, SERVE } = process.env
 
Iif (!APP) throw new Error('process.env.APP is undefined')
Iif (!SERVE) throw new Error('process.env.SERVE is undefined')
 
const root = join(__dirname, '..')
const cwd = process.cwd()
 
const getServeCommand = () => {
  return `${join(root, 'node_modules', '.bin', 'serve')} ${join(cwd, appsCachePath, APP, SERVE)}`
}
 
export default defineConfig({
  testDir: join(__dirname, 'tests'),
  testMatch: /.*(test|spec)\.(js|ts|mjs)/,
  timeout: 30 * 1000,
  expect: {
    timeout: 5000,
    toMatchSnapshot: {
      maxDiffPixelRatio: 0.02,
      threshold: 0.1
    }
  },
  snapshotPathTemplate: join(root, `snapshots/{/projectName}/{arg}{ext}`),
  updateSnapshots: 'none',
  fullyParallel: true,
  forbidOnly: !!process.env.CI,
  retries: process.env.CI
    ? 2
    : 1,
  workers: process.env.CI
    ? 1
    : undefined,
  reporter: process.env.REPORTER
    ? JSON.parse(process.env.REPORTER)
    : [process.env.CI
      ? ['github']
      : ['list']],
  use: {
    actionTimeout: 4000,
    trace: 'on-first-retry',
    video: 'on-first-retry'
  },
  projects,
  outputDir: join(cwd, 'test-results', APP),
  webServer: {
    command: getServeCommand(),
    port: 3000
  }
})