/
setFromArgv.test.ts
74 lines (67 loc) · 2.02 KB
/
setFromArgv.test.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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/**
* 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 type {Config} from '@jest/types';
import setFromArgv from '../setFromArgv';
test('maps special values to valid options', () => {
const options = {} as Config.InitialOptions;
const argv = {
coverage: true,
env: 'node',
json: true,
watchAll: true,
} as Config.Argv;
expect(setFromArgv(options, argv)).toMatchObject({
collectCoverage: true,
testEnvironment: 'node',
useStderr: true,
watch: false,
watchAll: true,
});
});
test('maps regular values to themselves', () => {
const options = {} as Config.InitialOptions;
const argv = {
collectCoverageOnlyFrom: ['a', 'b'],
coverageDirectory: 'covDir',
watchman: true,
} as Config.Argv;
expect(setFromArgv(options, argv)).toMatchObject({
collectCoverageOnlyFrom: ['a', 'b'],
coverageDirectory: 'covDir',
watchman: true,
});
});
test('works with string objects', () => {
const options = {} as Config.InitialOptions;
const argv = {
moduleNameMapper:
'{"types/(.*)": "<rootDir>/src/types/$1", "types2/(.*)": ["<rootDir>/src/types2/$1", "<rootDir>/src/types3/$1"]}',
testEnvironmentOptions: '{"userAgent": "Agent/007"}',
transform: '{"*.js": "<rootDir>/transformer"}',
} as Config.Argv;
expect(setFromArgv(options, argv)).toMatchObject({
moduleNameMapper: {
'types/(.*)': '<rootDir>/src/types/$1',
'types2/(.*)': ['<rootDir>/src/types2/$1', '<rootDir>/src/types3/$1'],
},
testEnvironmentOptions: {
userAgent: 'Agent/007',
},
transform: {
'*.js': '<rootDir>/transformer',
},
});
});
test('explicit flags override those from --config', () => {
const options = {} as Config.InitialOptions;
const argv = {
config: '{"watch": false}',
watch: true,
} as Config.Argv;
expect(setFromArgv(options, argv)).toMatchObject({watch: true});
});