eslint-plugin-jest 27.9.0 → 28.0.0-next.2

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 (48) hide show
  1. package/README.md +59 -61
  2. package/docs/rules/no-done-callback.md +1 -1
  3. package/docs/rules/no-focused-tests.md +1 -1
  4. package/docs/rules/prefer-equality-matcher.md +1 -1
  5. package/docs/rules/prefer-expect-assertions.md +1 -1
  6. package/docs/rules/prefer-strict-equal.md +1 -1
  7. package/docs/rules/unbound-method.md +3 -3
  8. package/lib/index.js +29 -13
  9. package/lib/rules/max-expects.js +2 -4
  10. package/lib/rules/no-alias-methods.js +1 -1
  11. package/lib/rules/no-deprecated-functions.js +1 -2
  12. package/lib/rules/no-done-callback.js +4 -6
  13. package/lib/rules/no-duplicate-hooks.js +3 -4
  14. package/lib/rules/no-focused-tests.js +1 -1
  15. package/lib/rules/no-hooks.js +1 -1
  16. package/lib/rules/no-interpolation-in-snapshots.js +1 -1
  17. package/lib/rules/no-large-snapshots.js +1 -1
  18. package/lib/rules/no-restricted-jest-methods.js +1 -1
  19. package/lib/rules/no-restricted-matchers.js +1 -1
  20. package/lib/rules/no-standalone-expect.js +4 -6
  21. package/lib/rules/no-test-prefixes.js +1 -1
  22. package/lib/rules/no-untyped-mock-factory.js +1 -1
  23. package/lib/rules/prefer-called-with.js +1 -1
  24. package/lib/rules/prefer-comparison-matcher.js +3 -3
  25. package/lib/rules/prefer-equality-matcher.js +3 -3
  26. package/lib/rules/prefer-expect-assertions.js +5 -7
  27. package/lib/rules/prefer-expect-resolves.js +3 -3
  28. package/lib/rules/prefer-hooks-in-order.js +1 -1
  29. package/lib/rules/prefer-mock-promise-shorthand.js +2 -3
  30. package/lib/rules/prefer-snapshot-hint.js +2 -2
  31. package/lib/rules/prefer-spy-on.js +1 -2
  32. package/lib/rules/prefer-strict-equal.js +1 -1
  33. package/lib/rules/prefer-to-be.js +2 -3
  34. package/lib/rules/prefer-to-contain.js +2 -2
  35. package/lib/rules/prefer-to-have-length.js +3 -3
  36. package/lib/rules/prefer-todo.js +1 -1
  37. package/lib/rules/require-hook.js +1 -2
  38. package/lib/rules/require-to-throw-message.js +1 -1
  39. package/lib/rules/unbound-method.js +6 -7
  40. package/lib/rules/utils/misc.js +1 -1
  41. package/lib/rules/utils/parseJestFnCall.js +8 -16
  42. package/lib/rules/valid-describe-callback.js +1 -1
  43. package/lib/rules/valid-expect-in-promise.js +6 -8
  44. package/lib/rules/valid-expect.js +6 -11
  45. package/lib/rules/valid-title.js +1 -1
  46. package/package.json +7 -7
  47. package/docs/rules/no-if.md +0 -58
  48. package/lib/rules/no-if.js +0 -86
@@ -1,86 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _utils = require("@typescript-eslint/utils");
8
- var _utils2 = require("./utils");
9
- const testCaseNames = new Set([...Object.keys(_utils2.TestCaseName), 'it.only', 'it.only', 'it.skip', 'it.skip', 'test.only', 'test.only', 'test.skip', 'test.skip', 'fit.concurrent']);
10
- const isTestFunctionExpression = node => node.parent !== undefined && node.parent.type === _utils.AST_NODE_TYPES.CallExpression && testCaseNames.has((0, _utils2.getNodeName)(node.parent.callee));
11
- const conditionName = {
12
- [_utils.AST_NODE_TYPES.ConditionalExpression]: 'conditional',
13
- [_utils.AST_NODE_TYPES.SwitchStatement]: 'switch',
14
- [_utils.AST_NODE_TYPES.IfStatement]: 'if'
15
- };
16
- var _default = exports.default = (0, _utils2.createRule)({
17
- name: __filename,
18
- meta: {
19
- docs: {
20
- description: 'Disallow conditional logic',
21
- category: 'Best Practices',
22
- recommended: false
23
- },
24
- messages: {
25
- conditionalInTest: 'Test should not contain {{ condition }} statements'
26
- },
27
- deprecated: true,
28
- replacedBy: ['no-conditional-in-test'],
29
- schema: [],
30
- type: 'suggestion'
31
- },
32
- defaultOptions: [],
33
- create(context) {
34
- const stack = [];
35
- function validate(node) {
36
- const lastElementInStack = stack[stack.length - 1];
37
- if (stack.length === 0 || !lastElementInStack) {
38
- return;
39
- }
40
- context.report({
41
- data: {
42
- condition: conditionName[node.type]
43
- },
44
- messageId: 'conditionalInTest',
45
- node
46
- });
47
- }
48
- return {
49
- CallExpression(node) {
50
- const jestFnCall = (0, _utils2.parseJestFnCall)(node, context);
51
- if ((jestFnCall === null || jestFnCall === void 0 ? void 0 : jestFnCall.type) === 'test') {
52
- stack.push(true);
53
- if (jestFnCall.members.some(s => (0, _utils2.getAccessorValue)(s) === 'each')) {
54
- stack.push(true);
55
- }
56
- }
57
- },
58
- FunctionExpression(node) {
59
- stack.push(isTestFunctionExpression(node));
60
- },
61
- FunctionDeclaration(node) {
62
- const declaredVariables = (0, _utils2.getDeclaredVariables)(context, node);
63
- const testCallExpressions = (0, _utils2.getTestCallExpressionsFromDeclaredVariables)(declaredVariables, context);
64
- stack.push(testCallExpressions.length > 0);
65
- },
66
- ArrowFunctionExpression(node) {
67
- stack.push(isTestFunctionExpression(node));
68
- },
69
- IfStatement: validate,
70
- SwitchStatement: validate,
71
- ConditionalExpression: validate,
72
- 'CallExpression:exit'() {
73
- stack.pop();
74
- },
75
- 'FunctionExpression:exit'() {
76
- stack.pop();
77
- },
78
- 'FunctionDeclaration:exit'() {
79
- stack.pop();
80
- },
81
- 'ArrowFunctionExpression:exit'() {
82
- stack.pop();
83
- }
84
- };
85
- }
86
- });