-
-
Notifications
You must be signed in to change notification settings - Fork 6.4k
/
getNoTestFound.ts
57 lines (51 loc) · 1.42 KB
/
getNoTestFound.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/**
* 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 chalk from 'chalk';
import {Config} from '@jest/types';
import {TestRunData} from './types';
import pluralize from './pluralize';
export default function getNoTestFound(
testRunData: TestRunData,
globalConfig: Config.GlobalConfig,
): string {
const testFiles = testRunData.reduce(
(current, testRun) => current + (testRun.matches.total || 0),
0,
);
let dataMessage;
if (globalConfig.runTestsByPath) {
dataMessage = `Files: ${globalConfig.nonFlagArgs
.map(p => `"${p}"`)
.join(', ')}`;
} else {
dataMessage = `Pattern: ${chalk.yellow(
globalConfig.testPathPattern,
)} - 0 matches`;
}
const fixedMessage =
`In ${chalk.bold(globalConfig.rootDir)}` +
'\n' +
` ${pluralize('file', testFiles, 's')} checked across ${pluralize(
'project',
testRunData.length,
's',
)}. Run with \`--verbose\` for more details.` +
'\n' +
dataMessage;
if (globalConfig.passWithNoTests) {
return (
chalk.bold('No tests found, exiting with code 0') + '\n' + fixedMessage
);
}
return (
chalk.bold('No tests found, exiting with code 1') +
'\n' +
'Run with `--passWithNoTests` to exit with code 0' +
'\n' +
fixedMessage
);
}