mirror of
https://github.com/nasa/openmct.git
synced 2024-12-18 20:57:53 +00:00
fce98a1c47
* refactor: move package.json to type: module this is where the fun begins * chore: move webpack common and prod to esm * chore: move webpack to esm, eslint to explicit cjs * refactor: migrate all files to esm * style: lint * refactor: begin moving karma to cjs, use dynamic esm import * refactor: move index-test to cjs * refactor: begin moving e2e to ESM this was manual. I'm committing this because I'm about to try the `cjstoesm` tool * refactor: move all to esm * fix: make all e2e tests use .js imports * refactor: begin moving exports to esm * refactor: use URL transforms instead of __dirname * fix: use libraryExport: default to properly handle openmct * fix: export all playwright configs as modules * refactor: move all instances of __dirname to import.meta.url * refactor: lint, drop unnecessary URL call * fix: use correct URL path on helper/addNoneditableObject.js * fix: more incorrect URL resolve issues * fix: parse json after reading it
107 lines
2.6 KiB
JavaScript
107 lines
2.6 KiB
JavaScript
// playwright.config.js
|
|
// @ts-check
|
|
|
|
// eslint-disable-next-line no-unused-vars
|
|
import { devices } from '@playwright/test';
|
|
|
|
/** @type {import('@playwright/test').PlaywrightTestConfig} */
|
|
const config = {
|
|
retries: 0,
|
|
testDir: 'tests',
|
|
testIgnore: '**/*.perf.spec.js',
|
|
timeout: 30 * 1000,
|
|
webServer: {
|
|
command: 'npm run start:coverage',
|
|
url: 'http://localhost:8080/#',
|
|
timeout: 120 * 1000,
|
|
reuseExistingServer: true
|
|
},
|
|
workers: 1,
|
|
use: {
|
|
browserName: 'chromium',
|
|
baseURL: 'http://localhost:8080/',
|
|
headless: false,
|
|
ignoreHTTPSErrors: true,
|
|
screenshot: 'only-on-failure',
|
|
trace: 'retain-on-failure',
|
|
video: 'off'
|
|
},
|
|
projects: [
|
|
{
|
|
name: 'chrome',
|
|
use: {
|
|
browserName: 'chromium'
|
|
}
|
|
},
|
|
{
|
|
name: 'MMOC',
|
|
testMatch: '**/*.e2e.spec.js', // only run e2e tests
|
|
grepInvert: /@snapshot/,
|
|
use: {
|
|
browserName: 'chromium',
|
|
viewport: {
|
|
width: 2560,
|
|
height: 1440
|
|
}
|
|
}
|
|
},
|
|
{
|
|
name: 'safari',
|
|
testMatch: '**/*.e2e.spec.js', // only run e2e tests
|
|
grep: /@ipad/, // only run ipad tests due to this bug https://github.com/microsoft/playwright/issues/8340
|
|
grepInvert: /@snapshot/,
|
|
use: {
|
|
browserName: 'webkit'
|
|
}
|
|
},
|
|
{
|
|
name: 'firefox',
|
|
testMatch: '**/*.e2e.spec.js', // only run e2e tests
|
|
grepInvert: /@snapshot/,
|
|
use: {
|
|
browserName: 'firefox'
|
|
}
|
|
},
|
|
{
|
|
name: 'canary',
|
|
testMatch: '**/*.e2e.spec.js', // only run e2e tests
|
|
grepInvert: /@snapshot/,
|
|
use: {
|
|
browserName: 'chromium',
|
|
channel: 'chrome-canary' //Note this is not available in ubuntu/CircleCI
|
|
}
|
|
},
|
|
{
|
|
name: 'chrome-beta',
|
|
testMatch: '**/*.e2e.spec.js', // only run e2e tests
|
|
grepInvert: /@snapshot/,
|
|
use: {
|
|
browserName: 'chromium',
|
|
channel: 'chrome-beta'
|
|
}
|
|
},
|
|
{
|
|
name: 'ipad',
|
|
testMatch: '**/*.e2e.spec.js', // only run e2e tests
|
|
grep: /@ipad/,
|
|
grepInvert: /@snapshot/,
|
|
use: {
|
|
browserName: 'webkit',
|
|
...devices['iPad (gen 7) landscape'] // Complete List https://github.com/microsoft/playwright/blob/main/packages/playwright-core/src/server/deviceDescriptorsSource.json
|
|
}
|
|
}
|
|
],
|
|
reporter: [
|
|
['list'],
|
|
[
|
|
'html',
|
|
{
|
|
open: 'on-failure',
|
|
outputFolder: '../html-test-results' //Must be in different location due to https://github.com/microsoft/playwright/issues/12840
|
|
}
|
|
]
|
|
]
|
|
};
|
|
|
|
export default config;
|