diff --git a/rules/__tests__/no-focused-tests.test.js b/rules/__tests__/no-focused-tests.test.js index 8a9805635..eccc922fb 100644 --- a/rules/__tests__/no-focused-tests.test.js +++ b/rules/__tests__/no-focused-tests.test.js @@ -23,6 +23,10 @@ ruleTester.run('no-focused-tests', rule, { code: 'describe.only()', errors: [{ message: expectedErrorMessage, column: 10, line: 1 }], }, + { + code: 'describe.only.each()', + errors: [{ message: expectedErrorMessage, column: 10, line: 1 }], + }, { code: 'describe["only"]()', errors: [{ message: expectedErrorMessage, column: 10, line: 1 }], @@ -31,6 +35,10 @@ ruleTester.run('no-focused-tests', rule, { code: 'it.only()', errors: [{ message: expectedErrorMessage, column: 4, line: 1 }], }, + { + code: 'it.only.each()', + errors: [{ message: expectedErrorMessage, column: 4, line: 1 }], + }, { code: 'it["only"]()', errors: [{ message: expectedErrorMessage, column: 4, line: 1 }], @@ -39,6 +47,10 @@ ruleTester.run('no-focused-tests', rule, { code: 'test.only()', errors: [{ message: expectedErrorMessage, column: 6, line: 1 }], }, + { + code: 'test.only.each()', + errors: [{ message: expectedErrorMessage, column: 6, line: 1 }], + }, { code: 'test["only"]()', errors: [{ message: expectedErrorMessage, column: 6, line: 1 }], diff --git a/rules/no-focused-tests.js b/rules/no-focused-tests.js index 7be29a840..38e496e3f 100644 --- a/rules/no-focused-tests.js +++ b/rules/no-focused-tests.js @@ -29,15 +29,25 @@ module.exports = { CallExpression(node) { const callee = node.callee; - if ( - callee.type === 'MemberExpression' && - isCallToTestOnlyFunction(callee) - ) { - context.report({ - message: 'Unexpected focused test.', - node: callee.property, - }); - return; + if (callee.type === 'MemberExpression') { + if ( + callee.object.type === 'MemberExpression' && + isCallToTestOnlyFunction(callee.object) + ) { + context.report({ + message: 'Unexpected focused test.', + node: callee.object.property, + }); + return; + } + + if (isCallToTestOnlyFunction(callee)) { + context.report({ + message: 'Unexpected focused test.', + node: callee.property, + }); + return; + } } if (callee.type === 'Identifier' && isCallToFocusedTestFunction(callee)) {