tachybase_todo/playwright.config.ts
Zeke Zhang 3b7c1345cc
test(e2e): add tests for client (#3144)
* test: add tests for lazy loading of association fields

* refactor: migrate

* test: add tests for page

* test: add tests for page menu

* test: add tests for tabs

* test: add tests for detail block

* test: add tests for list block

* test: add tests for grid card block

* test: add tests for filter collapse block

* test: add tests for markdown block

* test: add tests for table block

* test: add tests for table block

* test: add tests for lazy loading of association fields

* test: add tests for data scope

* test: add tests for filter block

* test: add tests for block template

* test: add tests for drag and sorting

* test: add tests for sorting rules

* test: make testing more stable

* Revert "test: make testing more stable"

This reverts commit 78b7badeb65bfc603fb746efbdb8e242a763ae6a.

* perf: remove enableToConfig

* test: make testing more stable

* test: make testing more stable

* test: delete newly created records to make tests more stable

* fix: fix error when deleting records

* test: make testing more stable

* test: make testing more stable

* test: fix tests

* refactor: optimize file structure

* test: fix tests

* test: fix tests

* refactor: optimize description

* refactor: optimize description

* refactor: use __e2e__ as the root directory for test files

* fix: fix build

* test: make testing more stable
2023-12-13 14:14:33 +08:00

55 lines
1.5 KiB
TypeScript

import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
timeout: process.env.CI ? 2 * 60 * 1000 : 30 * 1000,
// Look for test files in the "tests" directory, relative to this configuration file.
testDir: 'packages',
// Match all test files in the e2e and __e2e__ directories.
testMatch: /(.*\/e2e\/|.*\/__e2e__\/).+\.test\.[tj]sx*$/,
// Run all tests in parallel.
fullyParallel: true,
// Fail the build on CI if you accidentally left test.only in the source code.
forbidOnly: !!process.env.CI,
// Retry on CI only.
retries: process.env.CI ? 2 : 0,
// Opt out of parallel tests on CI.
// workers: process.env.CI ? 1 : undefined,
workers: 1,
maxFailures: 1,
// Reporter to use
reporter: process.env.PLAYWRIGHT_SKIP_REPORTER
? undefined
: [['html', { outputFolder: './playwright/tests-report' }]],
outputDir: './playwright/test-results',
use: {
// Base URL to use in actions like `await page.goto('/')`.
baseURL: process.env.APP_BASE_URL || `http://localhost:${process.env.APP_PORT || 20000}`,
// Collect trace when retrying the failed test.
trace: 'on-first-retry',
},
// Configure projects for major browsers.
projects: [
{
name: 'authSetup',
testDir: './scripts',
testMatch: 'auth.setup.ts',
},
{
name: 'chromium',
use: { ...devices['Desktop Chrome'], storageState: 'playwright/.auth/admin.json' },
dependencies: ['authSetup'],
},
],
});