/
no-mocks-import.test.js
97 lines (95 loc) · 1.93 KB
/
no-mocks-import.test.js
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
'use strict';
const rule = require('../no-mocks-import.js');
const { RuleTester } = require('eslint');
const ruleTester = new RuleTester();
const message = `Mocks should not be manually imported from a __mocks__ directory. Instead use jest.mock and import from the original module path.`;
ruleTester.run('no-mocks-import', rule, {
valid: [
{
code: 'import something from "something"',
parserOptions: { sourceType: 'module' },
},
'require("somethingElse")',
'require("./__mocks__.js")',
'require("./__mocks__x")',
'require("./__mocks__x/x")',
'require("./x__mocks__")',
'require("./x__mocks__/x")',
'require()',
'var path = "./__mocks__.js"; require(path)',
'entirelyDifferent(fn)',
],
invalid: [
{
code: 'require("./__mocks__")',
errors: [
{
endColumn: 22,
column: 9,
message,
},
],
},
{
code: 'require("./__mocks__/")',
errors: [
{
endColumn: 23,
column: 9,
message,
},
],
},
{
code: 'require("./__mocks__/index")',
errors: [
{
endColumn: 28,
column: 9,
message,
},
],
},
{
code: 'require("__mocks__")',
errors: [
{
endColumn: 20,
column: 9,
message,
},
],
},
{
code: 'require("__mocks__/")',
errors: [
{
endColumn: 21,
column: 9,
message,
},
],
},
{
code: 'require("__mocks__/index")',
errors: [
{
endColumn: 26,
column: 9,
message,
},
],
},
{
code: 'import thing from "./__mocks__/index"',
parserOptions: { sourceType: 'module' },
errors: [
{
endColumn: 38,
column: 1,
message,
},
],
},
],
});