From c9e2117ff63832c8ad92bbc7b8de63f30ba83b24 Mon Sep 17 00:00:00 2001 From: M4rk9696 Date: Thu, 22 Aug 2019 19:14:41 +0530 Subject: [PATCH] feat: Add util to create empty testResult --- .../jestAdapterInit.ts | 25 ++++++------------- packages/jest-jasmine2/src/reporter.ts | 7 ++---- packages/jest-test-result/src/helpers.ts | 25 +++++++++++++++++++ packages/jest-test-result/src/index.ts | 1 + 4 files changed, 35 insertions(+), 23 deletions(-) diff --git a/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapterInit.ts b/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapterInit.ts index 2380e616dd68..c96ec97e84ad 100644 --- a/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapterInit.ts +++ b/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapterInit.ts @@ -7,7 +7,12 @@ import {Circus, Config, Global} from '@jest/types'; import {JestEnvironment} from '@jest/environment'; -import {AssertionResult, Status, TestResult} from '@jest/test-result'; +import { + AssertionResult, + Status, + TestResult, + emptyTestResult, +} from '@jest/test-result'; import {extractExpectedAssertionsErrors, getState, setState} from 'expect'; import {formatExecError, formatResultsErrors} from 'jest-message-util'; import { @@ -215,30 +220,14 @@ export const runAndTransformResultsToJestFormat = async ({ dispatch({name: 'teardown'}); return { + ...emptyTestResult(), console: undefined, displayName: config.displayName, failureMessage, - leaks: false, // That's legacy code, just adding it so Flow is happy. numFailingTests, numPassingTests, numPendingTests, numTodoTests, - openHandles: [], - perfStats: { - // populated outside - end: 0, - start: 0, - }, - skipped: false, - snapshot: { - added: 0, - fileDeleted: false, - matched: 0, - unchecked: 0, - uncheckedKeys: [], - unmatched: 0, - updated: 0, - }, sourceMaps: {}, testExecError, testFilePath: testPath, diff --git a/packages/jest-jasmine2/src/reporter.ts b/packages/jest-jasmine2/src/reporter.ts index 7354a8b42208..c5164530f604 100644 --- a/packages/jest-jasmine2/src/reporter.ts +++ b/packages/jest-jasmine2/src/reporter.ts @@ -6,7 +6,7 @@ */ import {Config} from '@jest/types'; -import {AssertionResult, TestResult} from '@jest/test-result'; +import {AssertionResult, TestResult, emptyTestResult} from '@jest/test-result'; import {formatResultsErrors} from 'jest-message-util'; import {SpecResult} from './jasmine/Spec'; import {SuiteResult} from './jasmine/Suite'; @@ -78,6 +78,7 @@ export default class Jasmine2Reporter implements Reporter { }); const testResult = { + ...emptyTestResult(), console: null, failureMessage: formatResultsErrors( testResults, @@ -89,10 +90,6 @@ export default class Jasmine2Reporter implements Reporter { numPassingTests, numPendingTests, numTodoTests, - perfStats: { - end: 0, - start: 0, - }, snapshot: { added: 0, fileDeleted: false, diff --git a/packages/jest-test-result/src/helpers.ts b/packages/jest-test-result/src/helpers.ts index 6020142861bc..02b042379fa5 100644 --- a/packages/jest-test-result/src/helpers.ts +++ b/packages/jest-test-result/src/helpers.ts @@ -145,3 +145,28 @@ export const addResult = ( testResult.snapshot.unmatched + testResult.snapshot.updated; }; + +export const emptyTestResult = (): TestResult => ({ + leaks: false, // That's legacy code, just adding it so Flow is happy. + numFailingTests: 0, + numPassingTests: 0, + numPendingTests: 0, + numTodoTests: 0, + openHandles: [], + perfStats: { + end: 0, + start: 0, + }, + skipped: false, + snapshot: { + added: 0, + fileDeleted: false, + matched: 0, + unchecked: 0, + uncheckedKeys: [], + unmatched: 0, + updated: 0, + }, + testFilePath: '', + testResults: [], +}); diff --git a/packages/jest-test-result/src/index.ts b/packages/jest-test-result/src/index.ts index aa51fb4b4024..c2312954287e 100644 --- a/packages/jest-test-result/src/index.ts +++ b/packages/jest-test-result/src/index.ts @@ -9,6 +9,7 @@ export {default as formatTestResults} from './formatTestResults'; export { addResult, buildFailureTestResult, + emptyTestResult, makeEmptyAggregatedTestResult, } from './helpers'; export {