From 634e09752003b14082ea3253da8bd3da18742850 Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Fri, 16 Apr 2021 21:25:28 +0200 Subject: [PATCH 01/13] fix(read-config): allow multiple projects with programmatic usage --- packages/jest-config/src/index.ts | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/jest-config/src/index.ts b/packages/jest-config/src/index.ts index 490cc769000d..35bc4f524e85 100644 --- a/packages/jest-config/src/index.ts +++ b/packages/jest-config/src/index.ts @@ -38,7 +38,7 @@ export async function readConfig( // `project` property, we don't want to read `--config` value and rather // read individual configs for every project. skipArgvConfigOption?: boolean, - parentConfigPath?: Config.Path | null, + parentConfigDirname?: Config.Path | null, projectIndex: number = Infinity, ): Promise { let rawOptions: @@ -47,8 +47,7 @@ export async function readConfig( let configPath = null; if (typeof packageRootOrConfig !== 'string') { - if (parentConfigPath) { - const parentConfigDirname = path.dirname(parentConfigPath); + if (parentConfigDirname) { rawOptions = packageRootOrConfig; rawOptions.rootDir = rawOptions.rootDir ? replaceRootDirInPath(parentConfigDirname, rawOptions.rootDir) @@ -301,10 +300,9 @@ export async function readConfigs( } if (projects.length > 0) { - const projectIsCwd = - process.platform === 'win32' - ? projects[0] === tryRealpath(process.cwd()) - : projects[0] === process.cwd(); + const cwd = + process.platform === 'win32' ? tryRealpath(process.cwd()) : process.cwd(); + const projectIsCwd = projects[0] === cwd; const parsedConfigs = await Promise.all( projects @@ -332,7 +330,7 @@ export async function readConfigs( argv, root, skipArgvConfigOption, - configPath, + configPath ? path.dirname(configPath) : cwd, projectIndex, ); }), From bc21bd7b3055af2256a7825e1d312e77cc47537d Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Thu, 22 Apr 2021 23:26:30 +0200 Subject: [PATCH 02/13] Add e2e test --- e2e/__tests__/runCliMultipleProjects.test.ts | 17 +++++++++++++++++ .../client/client.test.js | 4 ++++ e2e/runcli-multiple-projects/package.json | 6 ++++++ e2e/runcli-multiple-projects/run-jest.js | 15 +++++++++++++++ .../server/server.test.js | 4 ++++ 5 files changed, 46 insertions(+) create mode 100644 e2e/__tests__/runCliMultipleProjects.test.ts create mode 100644 e2e/runcli-multiple-projects/client/client.test.js create mode 100644 e2e/runcli-multiple-projects/package.json create mode 100644 e2e/runcli-multiple-projects/run-jest.js create mode 100644 e2e/runcli-multiple-projects/server/server.test.js diff --git a/e2e/__tests__/runCliMultipleProjects.test.ts b/e2e/__tests__/runCliMultipleProjects.test.ts new file mode 100644 index 000000000000..eebb18f80b63 --- /dev/null +++ b/e2e/__tests__/runCliMultipleProjects.test.ts @@ -0,0 +1,17 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import {resolve} from 'path'; +import {run} from '../Utils'; + +const dir = resolve(__dirname, '..', 'runcli-multiple-projects'); + +test('runcli programmatically with multiple projects', () => { + const {stdout} = run(`node run-jest.js `, dir); + expect(stdout).toMatch(/2 passed/); +}); + diff --git a/e2e/runcli-multiple-projects/client/client.test.js b/e2e/runcli-multiple-projects/client/client.test.js new file mode 100644 index 000000000000..280382c9bdd7 --- /dev/null +++ b/e2e/runcli-multiple-projects/client/client.test.js @@ -0,0 +1,4 @@ +describe('client', () => { + + it('should work', () => {}); +}); \ No newline at end of file diff --git a/e2e/runcli-multiple-projects/package.json b/e2e/runcli-multiple-projects/package.json new file mode 100644 index 000000000000..142909ad236a --- /dev/null +++ b/e2e/runcli-multiple-projects/package.json @@ -0,0 +1,6 @@ +{ + "name": "runcli-multiple-projects", + "version": "1.0.0", + "dependencies": {}, + "jest": {} +} diff --git a/e2e/runcli-multiple-projects/run-jest.js b/e2e/runcli-multiple-projects/run-jest.js new file mode 100644 index 000000000000..005fa36e0127 --- /dev/null +++ b/e2e/runcli-multiple-projects/run-jest.js @@ -0,0 +1,15 @@ +const { runCLI } = require('../../packages/jest/build/jest'); + +const config = { + projects: [ + { testMatch: ["/client/**/*.test.js"] }, + { testMatch: ["/server/**/*.test.js"] } + ] +}; + +runCLI({ config: JSON.stringify(config) }, [process.cwd()]) + .then(() => console.log('✅ Done')) + .catch(err => { + console.error(err); + process.exitCode = 1; + }); diff --git a/e2e/runcli-multiple-projects/server/server.test.js b/e2e/runcli-multiple-projects/server/server.test.js new file mode 100644 index 000000000000..4f75dbfa02e7 --- /dev/null +++ b/e2e/runcli-multiple-projects/server/server.test.js @@ -0,0 +1,4 @@ +describe('server', () => { + + it('should work', () => {}); +}); \ No newline at end of file From 343d6a33bfad8ab8f7ae5c7de7e1ef7fb530d4a9 Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Fri, 23 Apr 2021 07:58:34 +0200 Subject: [PATCH 03/13] fix lint --- e2e/__tests__/runCliMultipleProjects.test.ts | 1 - e2e/runcli-multiple-projects/client/client.test.js | 5 ++--- e2e/runcli-multiple-projects/run-jest.js | 10 +++++----- e2e/runcli-multiple-projects/server/server.test.js | 5 ++--- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/e2e/__tests__/runCliMultipleProjects.test.ts b/e2e/__tests__/runCliMultipleProjects.test.ts index eebb18f80b63..a86bd8f54ddb 100644 --- a/e2e/__tests__/runCliMultipleProjects.test.ts +++ b/e2e/__tests__/runCliMultipleProjects.test.ts @@ -14,4 +14,3 @@ test('runcli programmatically with multiple projects', () => { const {stdout} = run(`node run-jest.js `, dir); expect(stdout).toMatch(/2 passed/); }); - diff --git a/e2e/runcli-multiple-projects/client/client.test.js b/e2e/runcli-multiple-projects/client/client.test.js index 280382c9bdd7..f2cc30b5034d 100644 --- a/e2e/runcli-multiple-projects/client/client.test.js +++ b/e2e/runcli-multiple-projects/client/client.test.js @@ -1,4 +1,3 @@ describe('client', () => { - - it('should work', () => {}); -}); \ No newline at end of file + it('should work', () => {}); +}); diff --git a/e2e/runcli-multiple-projects/run-jest.js b/e2e/runcli-multiple-projects/run-jest.js index 005fa36e0127..957cfdb81192 100644 --- a/e2e/runcli-multiple-projects/run-jest.js +++ b/e2e/runcli-multiple-projects/run-jest.js @@ -1,13 +1,13 @@ -const { runCLI } = require('../../packages/jest/build/jest'); +const {runCLI} = require('../../packages/jest/build/jest'); const config = { projects: [ - { testMatch: ["/client/**/*.test.js"] }, - { testMatch: ["/server/**/*.test.js"] } - ] + {testMatch: ['/client/**/*.test.js']}, + {testMatch: ['/server/**/*.test.js']}, + ], }; -runCLI({ config: JSON.stringify(config) }, [process.cwd()]) +runCLI({config: JSON.stringify(config)}, [process.cwd()]) .then(() => console.log('✅ Done')) .catch(err => { console.error(err); diff --git a/e2e/runcli-multiple-projects/server/server.test.js b/e2e/runcli-multiple-projects/server/server.test.js index 4f75dbfa02e7..1132b2a06eba 100644 --- a/e2e/runcli-multiple-projects/server/server.test.js +++ b/e2e/runcli-multiple-projects/server/server.test.js @@ -1,4 +1,3 @@ describe('server', () => { - - it('should work', () => {}); -}); \ No newline at end of file + it('should work', () => {}); +}); From 57d22e8d106fea22e400a851bb755dc66135249a Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Fri, 23 Apr 2021 08:05:19 +0200 Subject: [PATCH 04/13] Rename runcli -\> run-programmatically --- .../client/client.test.js | 0 .../package.json | 0 .../run-jest.js | 0 .../server/server.test.js | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename e2e/{runcli-multiple-projects => run-programmatically-multiple-projects}/client/client.test.js (100%) rename e2e/{runcli-multiple-projects => run-programmatically-multiple-projects}/package.json (100%) rename e2e/{runcli-multiple-projects => run-programmatically-multiple-projects}/run-jest.js (100%) rename e2e/{runcli-multiple-projects => run-programmatically-multiple-projects}/server/server.test.js (100%) diff --git a/e2e/runcli-multiple-projects/client/client.test.js b/e2e/run-programmatically-multiple-projects/client/client.test.js similarity index 100% rename from e2e/runcli-multiple-projects/client/client.test.js rename to e2e/run-programmatically-multiple-projects/client/client.test.js diff --git a/e2e/runcli-multiple-projects/package.json b/e2e/run-programmatically-multiple-projects/package.json similarity index 100% rename from e2e/runcli-multiple-projects/package.json rename to e2e/run-programmatically-multiple-projects/package.json diff --git a/e2e/runcli-multiple-projects/run-jest.js b/e2e/run-programmatically-multiple-projects/run-jest.js similarity index 100% rename from e2e/runcli-multiple-projects/run-jest.js rename to e2e/run-programmatically-multiple-projects/run-jest.js diff --git a/e2e/runcli-multiple-projects/server/server.test.js b/e2e/run-programmatically-multiple-projects/server/server.test.js similarity index 100% rename from e2e/runcli-multiple-projects/server/server.test.js rename to e2e/run-programmatically-multiple-projects/server/server.test.js From dd50ee70c0c2c50d8c3844769238536324ff1220 Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Fri, 23 Apr 2021 08:05:28 +0200 Subject: [PATCH 05/13] Fix e2e test --- ...st.ts => runProgrammaticallyMultipleProjects.test.ts} | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) rename e2e/__tests__/{runCliMultipleProjects.test.ts => runProgrammaticallyMultipleProjects.test.ts} (51%) diff --git a/e2e/__tests__/runCliMultipleProjects.test.ts b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts similarity index 51% rename from e2e/__tests__/runCliMultipleProjects.test.ts rename to e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts index a86bd8f54ddb..ceb84a38ce83 100644 --- a/e2e/__tests__/runCliMultipleProjects.test.ts +++ b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts @@ -8,9 +8,10 @@ import {resolve} from 'path'; import {run} from '../Utils'; -const dir = resolve(__dirname, '..', 'runcli-multiple-projects'); +const dir = resolve(__dirname, '..', 'run-programmatically-multiple-projects'); -test('runcli programmatically with multiple projects', () => { - const {stdout} = run(`node run-jest.js `, dir); - expect(stdout).toMatch(/2 passed/); +test('run programmatically with multiple projects', () => { + const {stdout, exitCode} = run(`node run-jest.js `, dir); + expect(exitCode).toEqual(0); + expect(stdout).toMatch(/Done/); }); From 04d329ba741053acec4a45c26123cc0e93a3fb24 Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Fri, 23 Apr 2021 08:08:49 +0200 Subject: [PATCH 06/13] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d08a3c66ea11..774e6812ee2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ - `[jest-circus]` Fix `testLocation` on Windows when using `test.each` ([#10871](https://github.com/facebook/jest/pull/10871)) - `[jest-cli]` Use testFailureExitCode when bailing from a failed test ([#10958](https://github.com/facebook/jest/pull/10958)) - `[jest-cli]` Print custom error if error thrown from global hooks is not an error already ([#11003](https://github.com/facebook/jest/pull/11003)) +- `[jest-cli]` Allow running multiple "projects" from programmatic api ([#11307](https://github.com/facebook/jest/pull/11307)) - `[jest-config]` [**BREAKING**] Change default file extension order by moving json behind ts and tsx ([10572](https://github.com/facebook/jest/pull/10572)) - `[jest-console]` `console.dir` now respects the second argument correctly ([#10638](https://github.com/facebook/jest/pull/10638)) - `[jest-core]` Don't report PerformanceObserver as open handle ([#11123](https://github.com/facebook/jest/pull/11123)) From 40361e3d211bb9786a08bbbcaaafd16c6cfb4119 Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Fri, 23 Apr 2021 11:17:27 +0200 Subject: [PATCH 07/13] Apply suggestions from code review Co-authored-by: Simen Bekkhus --- CHANGELOG.md | 2 +- e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts | 2 +- e2e/run-programmatically-multiple-projects/run-jest.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 774e6812ee2b..b8b73a19fd47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,7 +47,7 @@ - `[jest-circus]` Fix `testLocation` on Windows when using `test.each` ([#10871](https://github.com/facebook/jest/pull/10871)) - `[jest-cli]` Use testFailureExitCode when bailing from a failed test ([#10958](https://github.com/facebook/jest/pull/10958)) - `[jest-cli]` Print custom error if error thrown from global hooks is not an error already ([#11003](https://github.com/facebook/jest/pull/11003)) -- `[jest-cli]` Allow running multiple "projects" from programmatic api ([#11307](https://github.com/facebook/jest/pull/11307)) +- `[jest-cli]` Allow running multiple "projects" from programmatic API ([#11307](https://github.com/facebook/jest/pull/11307)) - `[jest-config]` [**BREAKING**] Change default file extension order by moving json behind ts and tsx ([10572](https://github.com/facebook/jest/pull/10572)) - `[jest-console]` `console.dir` now respects the second argument correctly ([#10638](https://github.com/facebook/jest/pull/10638)) - `[jest-core]` Don't report PerformanceObserver as open handle ([#11123](https://github.com/facebook/jest/pull/11123)) diff --git a/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts index ceb84a38ce83..948af7b874db 100644 --- a/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts +++ b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts @@ -8,7 +8,7 @@ import {resolve} from 'path'; import {run} from '../Utils'; -const dir = resolve(__dirname, '..', 'run-programmatically-multiple-projects'); +const dir = resolve(__dirname, '../run-programmatically-multiple-projects'); test('run programmatically with multiple projects', () => { const {stdout, exitCode} = run(`node run-jest.js `, dir); diff --git a/e2e/run-programmatically-multiple-projects/run-jest.js b/e2e/run-programmatically-multiple-projects/run-jest.js index 957cfdb81192..13f852121da2 100644 --- a/e2e/run-programmatically-multiple-projects/run-jest.js +++ b/e2e/run-programmatically-multiple-projects/run-jest.js @@ -1,4 +1,4 @@ -const {runCLI} = require('../../packages/jest/build/jest'); +const {runCLI} = require('@jest/core'); const config = { projects: [ From db3d9601c32043c9d9e8ec1e0dbea470d77f6a96 Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Fri, 23 Apr 2021 11:48:52 +0200 Subject: [PATCH 08/13] Review comments: copy right header and less generic done message --- e2e/run-programmatically-multiple-projects/run-jest.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/e2e/run-programmatically-multiple-projects/run-jest.js b/e2e/run-programmatically-multiple-projects/run-jest.js index 13f852121da2..06d66e72f007 100644 --- a/e2e/run-programmatically-multiple-projects/run-jest.js +++ b/e2e/run-programmatically-multiple-projects/run-jest.js @@ -1,3 +1,10 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + const {runCLI} = require('@jest/core'); const config = { @@ -8,7 +15,7 @@ const config = { }; runCLI({config: JSON.stringify(config)}, [process.cwd()]) - .then(() => console.log('✅ Done')) + .then(() => console.log('run-programmatically-mutiple-projects completed')) .catch(err => { console.error(err); process.exitCode = 1; From d512decb024f05e900afcb56dd7535cdfc95f11c Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Fri, 23 Apr 2021 11:49:07 +0200 Subject: [PATCH 09/13] Implement test with snapshot result --- ...nProgrammaticallyMultipleProjects.test.ts.snap | 15 +++++++++++++++ .../runProgrammaticallyMultipleProjects.test.ts | 7 ++++--- 2 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap diff --git a/e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap b/e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap new file mode 100644 index 000000000000..abcd38b483d8 --- /dev/null +++ b/e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap @@ -0,0 +1,15 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`run programmatically with multiple projects 1`] = ` +Array [ + Object { + "rest": "PASS client/client.test.js +PASS server/server.test.js", + "summary": "Test Suites: 2 passed, 2 total +Tests: 2 passed, 2 total +Snapshots: 0 total +Time: <> +Ran all test suites in 2 projects.", + }, +] +`; diff --git a/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts index 948af7b874db..a016fb51a592 100644 --- a/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts +++ b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts @@ -6,12 +6,13 @@ */ import {resolve} from 'path'; -import {run} from '../Utils'; +import {extractSummaries, run} from '../Utils'; const dir = resolve(__dirname, '../run-programmatically-multiple-projects'); test('run programmatically with multiple projects', () => { - const {stdout, exitCode} = run(`node run-jest.js `, dir); + const {stderr, exitCode} = run(`node run-jest.js `, dir); + const summary = extractSummaries(stderr); expect(exitCode).toEqual(0); - expect(stdout).toMatch(/Done/); + expect(summary).toMatchSnapshot(); }); From ee9eb58df40c8d8aef112aa75f46811347da7300 Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Fri, 23 Apr 2021 11:56:12 +0200 Subject: [PATCH 10/13] 2 more missing copyright headers --- .../client/client.test.js | 7 +++++++ .../server/server.test.js | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/e2e/run-programmatically-multiple-projects/client/client.test.js b/e2e/run-programmatically-multiple-projects/client/client.test.js index f2cc30b5034d..c40068258659 100644 --- a/e2e/run-programmatically-multiple-projects/client/client.test.js +++ b/e2e/run-programmatically-multiple-projects/client/client.test.js @@ -1,3 +1,10 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + describe('client', () => { it('should work', () => {}); }); diff --git a/e2e/run-programmatically-multiple-projects/server/server.test.js b/e2e/run-programmatically-multiple-projects/server/server.test.js index 1132b2a06eba..96820356c380 100644 --- a/e2e/run-programmatically-multiple-projects/server/server.test.js +++ b/e2e/run-programmatically-multiple-projects/server/server.test.js @@ -1,3 +1,10 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + describe('server', () => { it('should work', () => {}); }); From cb2edc68f2c3da8d4cf50d1ca3cec30bd45ead46 Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Fri, 23 Apr 2021 11:57:04 +0200 Subject: [PATCH 11/13] tweak test --- ...rogrammaticallyMultipleProjects.test.ts.snap | 17 ++++++++--------- .../runProgrammaticallyMultipleProjects.test.ts | 10 ++++++---- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap b/e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap index abcd38b483d8..d1d81826a7c0 100644 --- a/e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap +++ b/e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap @@ -1,15 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`run programmatically with multiple projects 1`] = ` -Array [ - Object { - "rest": "PASS client/client.test.js -PASS server/server.test.js", - "summary": "Test Suites: 2 passed, 2 total +exports[`run programmatically with multiple projects: rest 1`] = ` +PASS client/client.test.js +PASS server/server.test.js +`; + +exports[`run programmatically with multiple projects: summary 1`] = ` +Test Suites: 2 passed, 2 total Tests: 2 passed, 2 total Snapshots: 0 total Time: <> -Ran all test suites in 2 projects.", - }, -] +Ran all test suites in 2 projects. `; diff --git a/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts index a016fb51a592..96191c512fe8 100644 --- a/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts +++ b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts @@ -6,13 +6,15 @@ */ import {resolve} from 'path'; -import {extractSummaries, run} from '../Utils'; +import {wrap} from 'jest-snapshot-serializer-raw'; +import {extractSummary, run} from '../Utils'; const dir = resolve(__dirname, '../run-programmatically-multiple-projects'); test('run programmatically with multiple projects', () => { - const {stderr, exitCode} = run(`node run-jest.js `, dir); - const summary = extractSummaries(stderr); + const {stderr, exitCode} = run(`node run-jest.js`, dir); + const {summary, rest} = extractSummary(stderr); expect(exitCode).toEqual(0); - expect(summary).toMatchSnapshot(); + expect(wrap(summary)).toMatchSnapshot('summary'); + expect(wrap(rest)).toMatchSnapshot('rest'); }); From 0f9364e72b52a74d36752a46ab8be89afe71a2bc Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Fri, 23 Apr 2021 12:21:48 +0200 Subject: [PATCH 12/13] Remove duplicate assertion --- .../runProgrammaticallyMultipleProjects.test.ts.snap | 5 ----- e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts | 3 +-- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap b/e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap index d1d81826a7c0..3362f97f2234 100644 --- a/e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap +++ b/e2e/__tests__/__snapshots__/runProgrammaticallyMultipleProjects.test.ts.snap @@ -1,10 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`run programmatically with multiple projects: rest 1`] = ` -PASS client/client.test.js -PASS server/server.test.js -`; - exports[`run programmatically with multiple projects: summary 1`] = ` Test Suites: 2 passed, 2 total Tests: 2 passed, 2 total diff --git a/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts index 96191c512fe8..a811f8eb7f97 100644 --- a/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts +++ b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts @@ -13,8 +13,7 @@ const dir = resolve(__dirname, '../run-programmatically-multiple-projects'); test('run programmatically with multiple projects', () => { const {stderr, exitCode} = run(`node run-jest.js`, dir); - const {summary, rest} = extractSummary(stderr); + const {summary} = extractSummary(stderr); expect(exitCode).toEqual(0); expect(wrap(summary)).toMatchSnapshot('summary'); - expect(wrap(rest)).toMatchSnapshot('rest'); }); From fce7fc38b4eb92a1ee396b12b297985dd356f1a7 Mon Sep 17 00:00:00 2001 From: Nico Jansen Date: Fri, 23 Apr 2021 12:34:52 +0200 Subject: [PATCH 13/13] strip-ansi --- e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts index a811f8eb7f97..16b3c257949f 100644 --- a/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts +++ b/e2e/__tests__/runProgrammaticallyMultipleProjects.test.ts @@ -7,13 +7,14 @@ import {resolve} from 'path'; import {wrap} from 'jest-snapshot-serializer-raw'; +import stripAnsi = require('strip-ansi'); import {extractSummary, run} from '../Utils'; const dir = resolve(__dirname, '../run-programmatically-multiple-projects'); test('run programmatically with multiple projects', () => { const {stderr, exitCode} = run(`node run-jest.js`, dir); - const {summary} = extractSummary(stderr); + const {summary} = extractSummary(stripAnsi(stderr)); expect(exitCode).toEqual(0); expect(wrap(summary)).toMatchSnapshot('summary'); });