From ce26621a06169fb6728d2d015645d31401de523f Mon Sep 17 00:00:00 2001 From: Idan Attias Date: Wed, 10 Mar 2021 13:57:53 +0200 Subject: [PATCH] fix(no-identical-titles): support nested describes (#790) --- src/rules/__tests__/no-identical-title.test.ts | 9 +++++++++ src/rules/no-identical-title.ts | 7 ++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/rules/__tests__/no-identical-title.test.ts b/src/rules/__tests__/no-identical-title.test.ts index 3b2ec2ff3..ee63925f6 100644 --- a/src/rules/__tests__/no-identical-title.test.ts +++ b/src/rules/__tests__/no-identical-title.test.ts @@ -125,6 +125,15 @@ ruleTester.run('no-identical-title', rule, { ${'a'} \`("$description", () => {}) `, + dedent` + describe("top level", () => { + describe.each\`\`("nested each", () => { + describe.each\`\`("nested nested each", () => {}) + }) + + describe("nested", () => {}) + }) + `, ], invalid: [ { diff --git a/src/rules/no-identical-title.ts b/src/rules/no-identical-title.ts index 6f1f69bf0..1c5f59efc 100644 --- a/src/rules/no-identical-title.ts +++ b/src/rules/no-identical-title.ts @@ -42,13 +42,14 @@ export default createRule({ CallExpression(node) { const currentLayer = contexts[contexts.length - 1]; + if (isDescribe(node)) { + contexts.push(newDescribeContext()); + } + if (node.callee.type === AST_NODE_TYPES.TaggedTemplateExpression) { return; } - if (isDescribe(node)) { - contexts.push(newDescribeContext()); - } const [argument] = node.arguments; if (!argument || !isStringNode(argument)) {