From 553e5b86f96e3736dea15065061ce19f71ec4f07 Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Wed, 8 Nov 2023 14:50:48 +0100 Subject: [PATCH 1/3] support .story files --- src/config/jest-playwright.ts | 4 +++- test-runner-jest.config.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/config/jest-playwright.ts b/src/config/jest-playwright.ts index c11572d7..fc86105e 100644 --- a/src/config/jest-playwright.ts +++ b/src/config/jest-playwright.ts @@ -77,7 +77,9 @@ export const getJestConfig = () => { reporters, testMatch, transform: { - '^.+\\.stories\\.[jt]sx?$': require.resolve(TEST_RUNNER_PATH + '/playwright/transform'), + '^.+\\.(story|stories)\\.[jt]sx?$': require.resolve( + TEST_RUNNER_PATH + '/playwright/transform' + ), '^.+\\.[jt]sx?$': swcJestPath, }, snapshotSerializers: [jestSerializerHtmlPath], diff --git a/test-runner-jest.config.js b/test-runner-jest.config.js index d38da96f..1a1b314c 100644 --- a/test-runner-jest.config.js +++ b/test-runner-jest.config.js @@ -10,7 +10,7 @@ module.exports = { ...getJestConfig(), cacheDirectory: 'node_modules/.cache/storybook/test-runner', transform: { - '^.+\\.stories\\.[jt]sx?$': './playwright/transform', + '^.+\\.(story|stories)\\.[jt]sx?$': './playwright/transform', '^.+\\.[jt]sx?$': '@swc/jest', }, globalSetup: './playwright/global-setup.js', From 07475efcf16db46cc71f90b5a961f1954f2bc3e9 Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Wed, 8 Nov 2023 14:51:22 +0100 Subject: [PATCH 2/3] refactor ejected config format --- README.md | 8 ++++++-- playwright/test-runner-jest.config.js | 9 ++++++--- test-runner-jest.config.js | 4 +++- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9f33951d..be29b7ee 100644 --- a/README.md +++ b/README.md @@ -191,12 +191,14 @@ Here's an example of an ejected file used to extend the tests timeout from Jest: // ./test-runner-jest.config.js const { getJestConfig } = require('@storybook/test-runner'); +const testRunnerConfig = getJestConfig(); + /** * @type {import('@jest/types').Config.InitialOptions} */ module.exports = { // The default configuration comes from @storybook/test-runner - ...getJestConfig(), + ...testRunnerConfig, /** Add your own overrides below * @see https://jestjs.io/docs/configuration */ @@ -808,12 +810,14 @@ When running with `--stories-json`, tests get generated in a temporary folder an // ./test-runner-jest.config.js const { getJestConfig } = require('@storybook/test-runner'); +const testRunnerConfig = getJestConfig(); + /** * @type {import('@jest/types').Config.InitialOptions} */ module.exports = { // The default configuration comes from @storybook/test-runner - ...getJestConfig(), + ...testRunnerConfig, snapshotResolver: './snapshot-resolver.js', }; ``` diff --git a/playwright/test-runner-jest.config.js b/playwright/test-runner-jest.config.js index 4ffcdbcc..33949e5d 100644 --- a/playwright/test-runner-jest.config.js +++ b/playwright/test-runner-jest.config.js @@ -1,12 +1,15 @@ const { getJestConfig } = require('@storybook/test-runner'); +// The default configuration comes from @storybook/test-runner +const testRunnerConfig = getJestConfig(); + /** * @type {import('@jest/types').Config.InitialOptions} */ module.exports = { - // The default configuration comes from @storybook/test-runner - ...getJestConfig(), - /** Add your own overrides below + ...testRunnerConfig, + /** Add your own overrides below, and make sure + * to merge testRunnerConfig properties with your own * @see https://jestjs.io/docs/configuration */ }; diff --git a/test-runner-jest.config.js b/test-runner-jest.config.js index 1a1b314c..11f9f27f 100644 --- a/test-runner-jest.config.js +++ b/test-runner-jest.config.js @@ -6,8 +6,10 @@ process.env.STORYBOOK_TEST_RUNNER_PATH = path.resolve(__dirname); const { getJestConfig } = require('./dist'); +const testRunnerConfig = getJestConfig(); + module.exports = { - ...getJestConfig(), + ...testRunnerConfig, cacheDirectory: 'node_modules/.cache/storybook/test-runner', transform: { '^.+\\.(story|stories)\\.[jt]sx?$': './playwright/transform', From c0159ff06d19fb24ed86616a783bd16ff4b0869c Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Wed, 8 Nov 2023 14:52:07 +0100 Subject: [PATCH 3/3] always set TEST_ROOT --- src/test-storybook.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test-storybook.ts b/src/test-storybook.ts index 2c220dab..ae0cb608 100644 --- a/src/test-storybook.ts +++ b/src/test-storybook.ts @@ -335,6 +335,8 @@ const main = async () => { ); } + process.env.TEST_ROOT = process.cwd(); + if (runnerOptions.indexJson || shouldRunIndexJson) { indexTmpDir = await getIndexTempDir(targetURL); process.env.TEST_ROOT = indexTmpDir;