Skip to content

Commit b8d9194

Browse files
committed
fix(no-focused-tests): detect table format usage of .only.each
1 parent ee23634 commit b8d9194

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

src/rules/__tests__/no-focused-tests.test.ts

+12
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ ruleTester.run('no-focused-tests', rule, {
3434
code: 'describe.only.each()',
3535
errors: [{ messageId: 'focusedTest', column: 10, line: 1 }],
3636
},
37+
{
38+
code: 'describe.only.each`table`()',
39+
errors: [{ messageId: 'focusedTest', column: 10, line: 1 }],
40+
},
3741
{
3842
code: 'describe["only"]()',
3943
errors: [{ messageId: 'focusedTest', column: 10, line: 1 }],
@@ -46,6 +50,10 @@ ruleTester.run('no-focused-tests', rule, {
4650
code: 'it.only.each()',
4751
errors: [{ messageId: 'focusedTest', column: 4, line: 1 }],
4852
},
53+
{
54+
code: 'it.only.each`table`()',
55+
errors: [{ messageId: 'focusedTest', column: 4, line: 1 }],
56+
},
4957
{
5058
code: 'it["only"]()',
5159
errors: [{ messageId: 'focusedTest', column: 4, line: 1 }],
@@ -58,6 +66,10 @@ ruleTester.run('no-focused-tests', rule, {
5866
code: 'test.only.each()',
5967
errors: [{ messageId: 'focusedTest', column: 6, line: 1 }],
6068
},
69+
{
70+
code: 'test.only.each`table`()',
71+
errors: [{ messageId: 'focusedTest', column: 6, line: 1 }],
72+
},
6173
{
6274
code: 'test["only"]()',
6375
errors: [{ messageId: 'focusedTest', column: 6, line: 1 }],

src/rules/no-focused-tests.ts

+11-11
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ const isCallToTestOnlyFunction = (callee: TSESTree.MemberExpression) =>
2626
matchesTestFunction(callee.object) &&
2727
isSupportedAccessor(callee.property, 'only');
2828

29+
const getCallee = (node: TSESTree.CallExpression) => {
30+
const { callee } = node;
31+
32+
if (callee.type === AST_NODE_TYPES.TaggedTemplateExpression) {
33+
return callee.tag;
34+
}
35+
36+
return callee;
37+
};
38+
2939
export default createRule({
3040
name: __filename,
3141
meta: {
@@ -44,7 +54,7 @@ export default createRule({
4454
defaultOptions: [],
4555
create: context => ({
4656
CallExpression(node) {
47-
const { callee } = node;
57+
const callee = getCallee(node);
4858

4959
if (callee.type === AST_NODE_TYPES.MemberExpression) {
5060
if (
@@ -78,16 +88,6 @@ export default createRule({
7888
) {
7989
context.report({ messageId: 'focusedTest', node: callee });
8090
}
81-
82-
if (
83-
callee.type === AST_NODE_TYPES.TaggedTemplateExpression &&
84-
callee.tag.type === AST_NODE_TYPES.MemberExpression &&
85-
callee.tag.object &&
86-
callee.tag.object.type === AST_NODE_TYPES.Identifier &&
87-
isCallToFocusedTestFunction(callee.tag.object)
88-
) {
89-
context.report({ messageId: 'focusedTest', node: callee });
90-
}
9191
},
9292
}),
9393
});

0 commit comments

Comments
 (0)