eslint-plugin-jest 27.2.2 → 27.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +1 -0
  2. package/docs/rules/no-confusing-set-timeout.md +62 -0
  3. package/lib/rules/expect-expect.js +3 -1
  4. package/lib/rules/no-confusing-set-timeout.js +65 -0
  5. package/lib/rules/no-deprecated-functions.js +2 -2
  6. package/lib/rules/no-test-return-statement.js +9 -3
  7. package/lib/rules/no-untyped-mock-factory.js +3 -1
  8. package/lib/rules/prefer-spy-on.js +6 -2
  9. package/lib/rules/unbound-method.js +1 -1
  10. package/package.json +13 -16
  11. package/lib/processors/__tests__/snapshot-processor.test.js +0 -36
  12. package/lib/rules/__tests__/consistent-test-it.test.js +0 -921
  13. package/lib/rules/__tests__/expect-expect.test.js +0 -347
  14. package/lib/rules/__tests__/fixtures/class.ts +0 -13
  15. package/lib/rules/__tests__/fixtures/file.ts +0 -0
  16. package/lib/rules/__tests__/fixtures/foo.ts +0 -1
  17. package/lib/rules/__tests__/fixtures/indent/indent-invalid-fixture-1.js +0 -530
  18. package/lib/rules/__tests__/fixtures/indent/indent-valid-fixture-1.js +0 -530
  19. package/lib/rules/__tests__/fixtures/react.tsx +0 -0
  20. package/lib/rules/__tests__/fixtures/tsconfig-withmeta.json +0 -6
  21. package/lib/rules/__tests__/fixtures/tsconfig.json +0 -16
  22. package/lib/rules/__tests__/fixtures/unstrict/file.ts +0 -0
  23. package/lib/rules/__tests__/fixtures/unstrict/react.tsx +0 -0
  24. package/lib/rules/__tests__/fixtures/unstrict/tsconfig.json +0 -15
  25. package/lib/rules/__tests__/max-expects.test.js +0 -330
  26. package/lib/rules/__tests__/max-nested-describe.test.js +0 -247
  27. package/lib/rules/__tests__/no-alias-methods.test.js +0 -190
  28. package/lib/rules/__tests__/no-commented-out-tests.test.js +0 -213
  29. package/lib/rules/__tests__/no-conditional-expect.test.js +0 -696
  30. package/lib/rules/__tests__/no-conditional-in-test.test.js +0 -777
  31. package/lib/rules/__tests__/no-deprecated-functions.test.js +0 -119
  32. package/lib/rules/__tests__/no-disabled-tests.test.js +0 -241
  33. package/lib/rules/__tests__/no-done-callback.test.js +0 -424
  34. package/lib/rules/__tests__/no-duplicate-hooks.test.js +0 -469
  35. package/lib/rules/__tests__/no-export.test.js +0 -107
  36. package/lib/rules/__tests__/no-focused-tests.test.js +0 -373
  37. package/lib/rules/__tests__/no-hooks.test.js +0 -90
  38. package/lib/rules/__tests__/no-identical-title.test.js +0 -270
  39. package/lib/rules/__tests__/no-if.test.js +0 -787
  40. package/lib/rules/__tests__/no-interpolation-in-snapshots.test.js +0 -58
  41. package/lib/rules/__tests__/no-jasmine-globals.test.js +0 -206
  42. package/lib/rules/__tests__/no-large-snapshots.test.js +0 -237
  43. package/lib/rules/__tests__/no-mocks-import.test.js +0 -73
  44. package/lib/rules/__tests__/no-restricted-jest-methods.test.js +0 -103
  45. package/lib/rules/__tests__/no-restricted-matchers.test.js +0 -244
  46. package/lib/rules/__tests__/no-standalone-expect.test.js +0 -230
  47. package/lib/rules/__tests__/no-test-prefixes.test.js +0 -206
  48. package/lib/rules/__tests__/no-test-return-statement.test.js +0 -122
  49. package/lib/rules/__tests__/no-untyped-mock-factory.test.js +0 -149
  50. package/lib/rules/__tests__/prefer-called-with.test.js +0 -40
  51. package/lib/rules/__tests__/prefer-comparison-matcher.test.js +0 -200
  52. package/lib/rules/__tests__/prefer-each.test.js +0 -295
  53. package/lib/rules/__tests__/prefer-equality-matcher.test.js +0 -184
  54. package/lib/rules/__tests__/prefer-expect-assertions.test.js +0 -1437
  55. package/lib/rules/__tests__/prefer-expect-resolves.test.js +0 -96
  56. package/lib/rules/__tests__/prefer-hooks-in-order.test.js +0 -678
  57. package/lib/rules/__tests__/prefer-hooks-on-top.test.js +0 -218
  58. package/lib/rules/__tests__/prefer-lowercase-title.test.js +0 -619
  59. package/lib/rules/__tests__/prefer-mock-promise-shorthand.test.js +0 -360
  60. package/lib/rules/__tests__/prefer-snapshot-hint.test.js +0 -784
  61. package/lib/rules/__tests__/prefer-spy-on.test.js +0 -100
  62. package/lib/rules/__tests__/prefer-strict-equal.test.js +0 -46
  63. package/lib/rules/__tests__/prefer-to-be.test.js +0 -438
  64. package/lib/rules/__tests__/prefer-to-contain.test.js +0 -301
  65. package/lib/rules/__tests__/prefer-to-have-length.test.js +0 -99
  66. package/lib/rules/__tests__/prefer-todo.test.js +0 -78
  67. package/lib/rules/__tests__/require-hook.test.js +0 -403
  68. package/lib/rules/__tests__/require-to-throw-message.test.js +0 -108
  69. package/lib/rules/__tests__/require-top-level-describe.test.js +0 -236
  70. package/lib/rules/__tests__/test-utils.js +0 -11
  71. package/lib/rules/__tests__/unbound-method.test.js +0 -518
  72. package/lib/rules/__tests__/valid-describe-callback.test.js +0 -305
  73. package/lib/rules/__tests__/valid-expect-in-promise.test.js +0 -1583
  74. package/lib/rules/__tests__/valid-expect.test.js +0 -894
  75. package/lib/rules/__tests__/valid-title.test.js +0 -1147
  76. package/lib/rules/utils/__tests__/detectJestVersion.test.js +0 -221
  77. package/lib/rules/utils/__tests__/parseJestFnCall.test.js +0 -809
@@ -1,360 +0,0 @@
1
- "use strict";
2
-
3
- var _utils = require("@typescript-eslint/utils");
4
- var _dedent = _interopRequireDefault(require("dedent"));
5
- var _preferMockPromiseShorthand = _interopRequireDefault(require("../prefer-mock-promise-shorthand"));
6
- var _testUtils = require("./test-utils");
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
- const ruleTester = new _utils.TSESLint.RuleTester({
9
- parser: _testUtils.espreeParser,
10
- parserOptions: {
11
- ecmaVersion: 6
12
- }
13
- });
14
- ruleTester.run('prefer-mock-shorthand', _preferMockPromiseShorthand.default, {
15
- valid: ['describe()', 'it()', 'describe.skip()', 'it.skip()', 'test()', 'test.skip()', 'var appliedOnly = describe.only; appliedOnly.apply(describe)', 'var calledOnly = it.only; calledOnly.call(it)', 'it.each()()', 'it.each`table`()', 'test.each()()', 'test.each`table`()', 'test.concurrent()', 'jest.fn().mockResolvedValue(42)', 'jest.fn(() => Promise.resolve(42))', 'jest.fn(() => Promise.reject(42))', 'aVariable.mockImplementation', 'aVariable.mockImplementation()', 'aVariable.mockImplementation([])', 'aVariable.mockImplementation(() => {})', 'aVariable.mockImplementation(() => [])', 'aVariable.mockReturnValue(() => Promise.resolve(1))', 'aVariable.mockReturnValue(Promise.resolve(1).then(() => 1))', 'aVariable.mockReturnValue(Promise.reject(1).then(() => 1))', 'aVariable.mockReturnValue(Promise.reject().then(() => 1))', 'aVariable.mockReturnValue(new Promise(resolve => resolve(1)))', 'aVariable.mockReturnValue(new Promise((_, reject) => reject(1)))', "jest.spyOn(Thingy, 'method').mockImplementation(param => Promise.resolve(param));", (0, _dedent.default)`
16
- aVariable.mockImplementation(() => {
17
- const value = new Date();
18
-
19
- return Promise.resolve(value);
20
- });
21
- `, (0, _dedent.default)`
22
- aVariable.mockImplementation(() => {
23
- return Promise.resolve(value)
24
- .then(value => value + 1);
25
- });
26
- `, (0, _dedent.default)`
27
- aVariable.mockImplementation(() => {
28
- return Promise.all([1, 2, 3]);
29
- });
30
- `, 'aVariable.mockImplementation(() => Promise.all([1, 2, 3]));', 'aVariable.mockReturnValue(Promise.all([1, 2, 3]));'],
31
- invalid: [{
32
- code: 'jest.fn().mockImplementation(() => Promise.resolve(42))',
33
- output: 'jest.fn().mockResolvedValue(42)',
34
- errors: [{
35
- messageId: 'useMockShorthand',
36
- data: {
37
- replacement: 'mockResolvedValue'
38
- },
39
- column: 11,
40
- line: 1
41
- }]
42
- }, {
43
- code: 'jest.fn().mockImplementation(() => Promise.reject(42))',
44
- output: 'jest.fn().mockRejectedValue(42)',
45
- errors: [{
46
- messageId: 'useMockShorthand',
47
- data: {
48
- replacement: 'mockRejectedValue'
49
- },
50
- column: 11,
51
- line: 1
52
- }]
53
- }, {
54
- code: 'aVariable.mockImplementation(() => Promise.resolve(42))',
55
- output: 'aVariable.mockResolvedValue(42)',
56
- errors: [{
57
- messageId: 'useMockShorthand',
58
- data: {
59
- replacement: 'mockResolvedValue'
60
- },
61
- column: 11,
62
- line: 1
63
- }]
64
- }, {
65
- code: (0, _dedent.default)`
66
- aVariable.mockImplementation(() => {
67
- return Promise.resolve(42)
68
- })
69
- `,
70
- output: 'aVariable.mockResolvedValue(42)',
71
- errors: [{
72
- messageId: 'useMockShorthand',
73
- data: {
74
- replacement: 'mockResolvedValue'
75
- },
76
- column: 11,
77
- line: 1
78
- }]
79
- }, {
80
- code: 'aVariable.mockImplementation(() => Promise.reject(42))',
81
- output: 'aVariable.mockRejectedValue(42)',
82
- errors: [{
83
- messageId: 'useMockShorthand',
84
- data: {
85
- replacement: 'mockRejectedValue'
86
- },
87
- column: 11,
88
- line: 1
89
- }]
90
- }, {
91
- code: 'aVariable.mockImplementation(() => Promise.reject(42),)',
92
- output: 'aVariable.mockRejectedValue(42,)',
93
- parserOptions: {
94
- ecmaVersion: 2017
95
- },
96
- errors: [{
97
- messageId: 'useMockShorthand',
98
- data: {
99
- replacement: 'mockRejectedValue'
100
- },
101
- column: 11,
102
- line: 1
103
- }]
104
- }, {
105
- code: 'aVariable.mockImplementationOnce(() => Promise.resolve(42))',
106
- output: 'aVariable.mockResolvedValueOnce(42)',
107
- errors: [{
108
- messageId: 'useMockShorthand',
109
- data: {
110
- replacement: 'mockResolvedValueOnce'
111
- },
112
- column: 11,
113
- line: 1
114
- }]
115
- }, {
116
- code: 'aVariable.mockImplementationOnce(() => Promise.reject(42))',
117
- output: 'aVariable.mockRejectedValueOnce(42)',
118
- errors: [{
119
- messageId: 'useMockShorthand',
120
- data: {
121
- replacement: 'mockRejectedValueOnce'
122
- },
123
- column: 11,
124
- line: 1
125
- }]
126
- }, {
127
- code: 'jest.fn().mockReturnValue(Promise.resolve(42))',
128
- output: 'jest.fn().mockResolvedValue(42)',
129
- errors: [{
130
- messageId: 'useMockShorthand',
131
- data: {
132
- replacement: 'mockResolvedValue'
133
- },
134
- column: 11,
135
- line: 1
136
- }]
137
- }, {
138
- code: 'jest.fn().mockReturnValue(Promise.reject(42))',
139
- output: 'jest.fn().mockRejectedValue(42)',
140
- errors: [{
141
- messageId: 'useMockShorthand',
142
- data: {
143
- replacement: 'mockRejectedValue'
144
- },
145
- column: 11,
146
- line: 1
147
- }]
148
- }, {
149
- code: 'aVariable.mockReturnValue(Promise.resolve(42))',
150
- output: 'aVariable.mockResolvedValue(42)',
151
- errors: [{
152
- messageId: 'useMockShorthand',
153
- data: {
154
- replacement: 'mockResolvedValue'
155
- },
156
- column: 11,
157
- line: 1
158
- }]
159
- }, {
160
- code: 'aVariable.mockReturnValue(Promise.reject(42))',
161
- output: 'aVariable.mockRejectedValue(42)',
162
- errors: [{
163
- messageId: 'useMockShorthand',
164
- data: {
165
- replacement: 'mockRejectedValue'
166
- },
167
- column: 11,
168
- line: 1
169
- }]
170
- }, {
171
- code: 'aVariable.mockReturnValueOnce(Promise.resolve(42))',
172
- output: 'aVariable.mockResolvedValueOnce(42)',
173
- errors: [{
174
- messageId: 'useMockShorthand',
175
- data: {
176
- replacement: 'mockResolvedValueOnce'
177
- },
178
- column: 11,
179
- line: 1
180
- }]
181
- }, {
182
- code: 'aVariable.mockReturnValueOnce(Promise.reject(42))',
183
- output: 'aVariable.mockRejectedValueOnce(42)',
184
- errors: [{
185
- messageId: 'useMockShorthand',
186
- data: {
187
- replacement: 'mockRejectedValueOnce'
188
- },
189
- column: 11,
190
- line: 1
191
- }]
192
- }, {
193
- code: (0, _dedent.default)`
194
- aVariable.mockReturnValue(Promise.resolve({
195
- target: 'world',
196
- message: 'hello'
197
- }))
198
- `,
199
- output: (0, _dedent.default)`
200
- aVariable.mockResolvedValue({
201
- target: 'world',
202
- message: 'hello'
203
- })
204
- `,
205
- errors: [{
206
- messageId: 'useMockShorthand',
207
- data: {
208
- replacement: 'mockResolvedValue'
209
- },
210
- column: 11,
211
- line: 1
212
- }]
213
- }, {
214
- code: (0, _dedent.default)`
215
- aVariable
216
- .mockImplementation(() => Promise.reject(42))
217
- .mockImplementation(() => Promise.resolve(42))
218
- .mockReturnValue(Promise.reject(42))
219
- `,
220
- output: (0, _dedent.default)`
221
- aVariable
222
- .mockRejectedValue(42)
223
- .mockResolvedValue(42)
224
- .mockRejectedValue(42)
225
- `,
226
- errors: [{
227
- messageId: 'useMockShorthand',
228
- data: {
229
- replacement: 'mockRejectedValue'
230
- },
231
- column: 4,
232
- line: 2
233
- }, {
234
- messageId: 'useMockShorthand',
235
- data: {
236
- replacement: 'mockResolvedValue'
237
- },
238
- column: 4,
239
- line: 3
240
- }, {
241
- messageId: 'useMockShorthand',
242
- data: {
243
- replacement: 'mockRejectedValue'
244
- },
245
- column: 4,
246
- line: 4
247
- }]
248
- }, {
249
- code: (0, _dedent.default)`
250
- aVariable
251
- .mockReturnValueOnce(Promise.reject(42))
252
- .mockImplementation(() => Promise.resolve(42))
253
- .mockReturnValueOnce(Promise.reject(42))
254
- `,
255
- output: (0, _dedent.default)`
256
- aVariable
257
- .mockRejectedValueOnce(42)
258
- .mockResolvedValue(42)
259
- .mockRejectedValueOnce(42)
260
- `,
261
- errors: [{
262
- messageId: 'useMockShorthand',
263
- data: {
264
- replacement: 'mockRejectedValueOnce'
265
- },
266
- column: 4,
267
- line: 2
268
- }, {
269
- messageId: 'useMockShorthand',
270
- data: {
271
- replacement: 'mockResolvedValue'
272
- },
273
- column: 4,
274
- line: 3
275
- }, {
276
- messageId: 'useMockShorthand',
277
- data: {
278
- replacement: 'mockRejectedValueOnce'
279
- },
280
- column: 4,
281
- line: 4
282
- }]
283
- }, {
284
- code: (0, _dedent.default)`
285
- aVariable.mockReturnValueOnce(
286
- Promise.reject(
287
- new Error('oh noes!')
288
- )
289
- )
290
- `,
291
- output: (0, _dedent.default)`
292
- aVariable.mockRejectedValueOnce(
293
- new Error('oh noes!')
294
- )
295
- `,
296
- errors: [{
297
- messageId: 'useMockShorthand',
298
- data: {
299
- replacement: 'mockRejectedValueOnce'
300
- },
301
- column: 11,
302
- line: 1
303
- }]
304
- }, {
305
- code: 'jest.fn().mockReturnValue(Promise.resolve(42), xyz)',
306
- output: 'jest.fn().mockResolvedValue(42, xyz)',
307
- errors: [{
308
- messageId: 'useMockShorthand',
309
- data: {
310
- replacement: 'mockResolvedValue'
311
- },
312
- column: 11,
313
- line: 1
314
- }]
315
- }, {
316
- code: 'jest.fn().mockImplementation(() => Promise.reject(42), xyz)',
317
- output: 'jest.fn().mockRejectedValue(42, xyz)',
318
- errors: [{
319
- messageId: 'useMockShorthand',
320
- data: {
321
- replacement: 'mockRejectedValue'
322
- },
323
- column: 11,
324
- line: 1
325
- }]
326
- }, {
327
- code: 'aVariable.mockReturnValueOnce(Promise.resolve(42, xyz))',
328
- output: null,
329
- errors: [{
330
- messageId: 'useMockShorthand',
331
- data: {
332
- replacement: 'mockResolvedValueOnce'
333
- },
334
- column: 11,
335
- line: 1
336
- }]
337
- }, {
338
- code: 'aVariable.mockReturnValueOnce(Promise.resolve())',
339
- output: 'aVariable.mockResolvedValueOnce(undefined)',
340
- errors: [{
341
- messageId: 'useMockShorthand',
342
- data: {
343
- replacement: 'mockResolvedValueOnce'
344
- },
345
- column: 11,
346
- line: 1
347
- }]
348
- }, {
349
- code: 'jest.spyOn(fs, "readFile").mockReturnValue(Promise.reject(new Error("oh noes!")))',
350
- output: `jest.spyOn(fs, "readFile").mockRejectedValue(new Error("oh noes!"))`,
351
- errors: [{
352
- messageId: 'useMockShorthand',
353
- data: {
354
- replacement: 'mockRejectedValue'
355
- },
356
- column: 28,
357
- line: 1
358
- }]
359
- }]
360
- });