From d5019590ff8dec718535ccd760b392bc960acc9a Mon Sep 17 00:00:00 2001 From: Rene Haas Date: Fri, 19 Aug 2022 11:27:24 +0200 Subject: [PATCH] playwright error handling in ci --- local/playwright-tooling/src/expectSuccess.js | 4 +- packages/overlayscrollbars/package.json | 6 +-- .../structureSetup/update/index.browser.ts | 43 +++++++++++-------- 3 files changed, 30 insertions(+), 23 deletions(-) diff --git a/local/playwright-tooling/src/expectSuccess.js b/local/playwright-tooling/src/expectSuccess.js index 8e12dcd..f70fb4a 100644 --- a/local/playwright-tooling/src/expectSuccess.js +++ b/local/playwright-tooling/src/expectSuccess.js @@ -2,10 +2,10 @@ const { expect } = require('@playwright/test'); const startSelector = '#start'; const resultSelector = '#testResult'; -const logError = async (page, msg) => { +const logError = async (page, ...args) => { const title = await page.title(); // eslint-disable-next-line no-console - console.error(title, msg); + console.log(title, ...args); }; // default timeout = // 10mins diff --git a/packages/overlayscrollbars/package.json b/packages/overlayscrollbars/package.json index 7896d9d..a1f4d4e 100644 --- a/packages/overlayscrollbars/package.json +++ b/packages/overlayscrollbars/package.json @@ -42,10 +42,10 @@ "sideEffects": ["*.css", "*.scss", "*.sass"], "scripts": { "build": "rollup -c", - "test": "jest --coverage && playwright test --grep-invert @special", - "jest": "jest --coverage --testPathPattern", + "test": "jest --coverage --runInBand && playwright test --grep-invert @special", + "jest": "jest --coverage --runInBand --testPathPattern", "jest:node": "jest --selectProjects node --testPathPattern", - "jest:jsdom": "jest --selectProjects jsdom --testPathPattern", + "jest:jsdom": "jest --runInBand --selectProjects jsdom --testPathPattern", "playwright": "playwright test --grep-invert @special", "playwright:dev": "playwright test --workers 1 --timeout 0 --global-timeout 0", "posttest": "playwright-merge-coverage && full-coverage", diff --git a/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.browser.ts b/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.browser.ts index f0c3219..2ac7b72 100644 --- a/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.browser.ts +++ b/packages/overlayscrollbars/tests/playwright/setups/structureSetup/update/index.browser.ts @@ -817,30 +817,37 @@ const start = async () => { target?.removeAttribute('style'); - await overflowTest(); + try { + await overflowTest(); - osInstance.options({ paddingAbsolute: !initialPaddingAbsolute }); + osInstance.options({ paddingAbsolute: !initialPaddingAbsolute }); - await overflowTest(); + await overflowTest(); - osInstance.options({ paddingAbsolute: initialPaddingAbsolute }); + osInstance.options({ paddingAbsolute: initialPaddingAbsolute }); - await overflowTest({ overflow: { x: 'visible', y: 'visible' } }); - await overflowTest({ overflow: { x: 'hidden', y: 'scroll' } }); - await overflowTest({ overflow: { x: 'visible-hidden', y: 'scroll' } }); - await overflowTest({ overflow: { x: 'visible-scroll', y: 'visible-hidden' } }); + await overflowTest({ overflow: { x: 'visible', y: 'visible' } }); + await overflowTest({ overflow: { x: 'hidden', y: 'scroll' } }); + await overflowTest({ overflow: { x: 'visible-hidden', y: 'scroll' } }); + await overflowTest({ overflow: { x: 'visible-scroll', y: 'visible-hidden' } }); - if (!isFastTestRun) { - await overflowTest({ overflow: { x: 'hidden', y: 'visible' } }); - await overflowTest({ overflow: { x: 'visible', y: 'scroll' } }); - await overflowTest({ overflow: { x: 'visible-hidden', y: 'hidden' } }); - await overflowTest({ overflow: { x: 'visible', y: 'visible-scroll' } }); - await overflowTest({ overflow: { x: 'scroll', y: 'visible-scroll' } }); - await overflowTest({ overflow: { x: 'scroll', y: 'hidden' } }); - await overflowTest({ overflow: { x: 'scroll', y: 'visible' } }); - await overflowTest({ overflow: { x: 'visible', y: 'hidden' } }); + if (!isFastTestRun) { + await overflowTest({ overflow: { x: 'hidden', y: 'visible' } }); + await overflowTest({ overflow: { x: 'visible', y: 'scroll' } }); + await overflowTest({ overflow: { x: 'visible-hidden', y: 'hidden' } }); + await overflowTest({ overflow: { x: 'visible', y: 'visible-scroll' } }); + await overflowTest({ overflow: { x: 'scroll', y: 'visible-scroll' } }); + await overflowTest({ overflow: { x: 'scroll', y: 'hidden' } }); + await overflowTest({ overflow: { x: 'scroll', y: 'visible' } }); + await overflowTest({ overflow: { x: 'visible', y: 'hidden' } }); + } + } catch (e: any) { + console.error(e.message, { + expected: e.expected, + actual: e.actual, + operator: e.operator, + }); } - setTestResult(true); };