UNPKG

2 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', {
4 value: true
5});
6exports.default = formatTestResults;
7
8/**
9 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
10 *
11 * This source code is licensed under the MIT license found in the
12 * LICENSE file in the root directory of this source tree.
13 */
14const formatTestResult = (testResult, codeCoverageFormatter, reporter) => {
15 const assertionResults = testResult.testResults.map(formatTestAssertion);
16
17 if (testResult.testExecError) {
18 const now = Date.now();
19 return {
20 assertionResults,
21 coverage: {},
22 endTime: now,
23 message: testResult.failureMessage
24 ? testResult.failureMessage
25 : testResult.testExecError.message,
26 name: testResult.testFilePath,
27 startTime: now,
28 status: 'failed',
29 summary: ''
30 };
31 } else {
32 const allTestsPassed = testResult.numFailingTests === 0;
33 return {
34 assertionResults,
35 coverage: codeCoverageFormatter
36 ? codeCoverageFormatter(testResult.coverage, reporter)
37 : testResult.coverage,
38 endTime: testResult.perfStats.end,
39 message: testResult.failureMessage || '',
40 name: testResult.testFilePath,
41 startTime: testResult.perfStats.start,
42 status: allTestsPassed ? 'passed' : 'failed',
43 summary: ''
44 };
45 }
46};
47
48function formatTestAssertion(assertion) {
49 const result = {
50 ancestorTitles: assertion.ancestorTitles,
51 duration: assertion.duration,
52 failureMessages: null,
53 fullName: assertion.fullName,
54 location: assertion.location,
55 status: assertion.status,
56 title: assertion.title
57 };
58
59 if (assertion.failureMessages) {
60 result.failureMessages = assertion.failureMessages;
61 }
62
63 return result;
64}
65
66function formatTestResults(results, codeCoverageFormatter, reporter) {
67 const testResults = results.testResults.map(testResult =>
68 formatTestResult(testResult, codeCoverageFormatter, reporter)
69 );
70 return {...results, testResults};
71}