Skip to content

Commit

Permalink
fix(max-expects): don't count expect.<member>() calls towards max (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
G-Rath committed Aug 9, 2022
1 parent 4106b8f commit 75a0ff2
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 2 deletions.
31 changes: 31 additions & 0 deletions src/rules/__tests__/max-expects.test.ts
Expand Up @@ -57,6 +57,37 @@ ruleTester.run('max-expects', rule, {
expect(true).toBeDefined();
});
`,
dedent`
test('should pass', async () => {
expect.hasAssertions();
expect(true).toBeDefined();
expect(true).toBeDefined();
expect(true).toBeDefined();
expect(true).toBeDefined();
expect(true).toBeDefined();
});
`,
dedent`
test('should pass', async () => {
expect(true).toBeDefined();
expect(true).toBeDefined();
expect(true).toBeDefined();
expect(true).toBeDefined();
expect(true).toEqual(expect.any(Boolean));
});
`,
dedent`
test('should pass', async () => {
expect.hasAssertions();
expect(true).toBeDefined();
expect(true).toBeDefined();
expect(true).toBeDefined();
expect(true).toBeDefined();
expect(true).toEqual(expect.any(Boolean));
});
`,
dedent`
describe('test', () => {
test('should pass', () => {
Expand Down
14 changes: 12 additions & 2 deletions src/rules/max-expects.ts
@@ -1,5 +1,10 @@
import { AST_NODE_TYPES } from '@typescript-eslint/utils';
import { FunctionExpression, createRule, isTypeOfJestFnCall } from './utils';
import {
FunctionExpression,
createRule,
isTypeOfJestFnCall,
parseJestFnCall,
} from './utils';

export default createRule({
name: __filename,
Expand Down Expand Up @@ -45,7 +50,12 @@ export default createRule({
FunctionExpression: onFunctionExpressionEnter,
ArrowFunctionExpression: onFunctionExpressionEnter,
CallExpression(node) {
if (!isTypeOfJestFnCall(node, context, ['expect'])) {
const jestFnCall = parseJestFnCall(node, context);

if (
jestFnCall?.type !== 'expect' ||
jestFnCall.head.node.parent?.type === AST_NODE_TYPES.MemberExpression
) {
return;
}

Expand Down

0 comments on commit 75a0ff2

Please sign in to comment.