From 487c2eb8f21a1cecd09fb6b778b810bdb4ce3af0 Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sun, 16 Jan 2022 08:49:45 +1300 Subject: [PATCH] fix(prefer-expect-assertions): report expects in loops in functions in tests --- .../prefer-expect-assertions.test.ts | 35 +++++++++++-------- src/rules/prefer-expect-assertions.ts | 2 +- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/rules/__tests__/prefer-expect-assertions.test.ts b/src/rules/__tests__/prefer-expect-assertions.test.ts index d587669e0..5ba9a3c94 100644 --- a/src/rules/__tests__/prefer-expect-assertions.test.ts +++ b/src/rules/__tests__/prefer-expect-assertions.test.ts @@ -374,20 +374,6 @@ ruleTester.run('prefer-expect-assertions (loops)', rule, { `, options: [{ onlyFunctionsWithExpectInLoop: true }], }, - { - code: dedent` - it('returns numbers that are greater than two', function () { - const expectNumbersToBeGreaterThan = (numbers, value) => { - for (let number of numbers) { - expect(number).toBeGreaterThan(value); - } - }; - - expectNumbersToBeGreaterThan(getNumbers(), 2); - }); - `, - options: [{ onlyFunctionsWithExpectInLoop: true }], - }, { code: dedent` it("returns numbers that are greater than five", function () { @@ -431,6 +417,27 @@ ruleTester.run('prefer-expect-assertions (loops)', rule, { }, ], }, + { + code: dedent` + it('returns numbers that are greater than two', function () { + const expectNumbersToBeGreaterThan = (numbers, value) => { + for (let number of numbers) { + expect(number).toBeGreaterThan(value); + } + }; + + expectNumbersToBeGreaterThan(getNumbers(), 2); + }); + `, + options: [{ onlyFunctionsWithExpectInLoop: true }], + errors: [ + { + messageId: 'haveExpectAssertions', + column: 1, + line: 1, + }, + ], + }, { code: dedent` it("only returns numbers that are greater than seven", function () { diff --git a/src/rules/prefer-expect-assertions.ts b/src/rules/prefer-expect-assertions.ts index 7b3baeaea..1bd90ac5b 100644 --- a/src/rules/prefer-expect-assertions.ts +++ b/src/rules/prefer-expect-assertions.ts @@ -156,7 +156,7 @@ export default createRule<[RuleOptions], MessageIds>({ return; } - if (isExpectCall(node) && expressionDepth === 1 && inForLoop) { + if (isExpectCall(node) && inTestCaseCall && inForLoop) { hasExpectInLoop = true; } },