diff --git a/src/rules/no-disabled-tests.ts b/src/rules/no-disabled-tests.ts index eb88631..4f92b41 100644 --- a/src/rules/no-disabled-tests.ts +++ b/src/rules/no-disabled-tests.ts @@ -48,10 +48,11 @@ export default createEslintRule({ } } - if (vitestFnCall.name.startsWith('x') || vitestFnCall.members.some(s => getAccessorValue(s) === 'skip')) { + const skipMember = vitestFnCall.members.find(s => getAccessorValue(s) === 'skip') + if (vitestFnCall.name.startsWith('x') || skipMember !== undefined) { context.report({ messageId: vitestFnCall.type === 'describe' ? 'disabledSuite' : 'disabledTest', - node + node: skipMember ?? vitestFnCall.head.node }) } }, diff --git a/tests/no-disabled-tests.test.ts b/tests/no-disabled-tests.test.ts index 8631664..6c69256 100644 --- a/tests/no-disabled-tests.test.ts +++ b/tests/no-disabled-tests.test.ts @@ -37,45 +37,121 @@ ruleTester.run(RULE_NAME, rule, { code: 'describe.skip("foo", function () {})', errors: [ { + column: 10, + endColumn: 14, + endLine: 1, + line: 1, messageId: 'disabledSuite' } ] }, { code: 'it("contains a call to pending", function () { pending() })', - errors: [{ messageId: 'pendingTest', column: 48, line: 1 }] + errors: [ + { + column: 48, + endColumn: 57, + endLine: 1, + line: 1, + messageId: 'pendingTest' + } + ] }, { code: 'xtest("foo", function () {})', - errors: [{ messageId: 'disabledTest', column: 1, line: 1 }] + errors: [ + { + column: 1, + endColumn: 6, + endLine: 1, + line: 1, + messageId: 'disabledTest' + } + ] }, { code: 'xit.each``("foo", function () {})', - errors: [{ messageId: 'disabledTest', column: 1, line: 1 }] + errors: [ + { + column: 1, + endColumn: 4, + endLine: 1, + line: 1, + messageId: 'disabledTest' + } + ] }, { code: 'xtest.each``("foo", function () {})', - errors: [{ messageId: 'disabledTest', column: 1, line: 1 }] + errors: [ + { + column: 1, + endColumn: 6, + endLine: 1, + line: 1, + messageId: 'disabledTest' + } + ] }, { code: 'xit.each([])("foo", function () {})', - errors: [{ messageId: 'disabledTest', column: 1, line: 1 }] + errors: [ + { + column: 1, + endColumn: 4, + endLine: 1, + line: 1, + messageId: 'disabledTest' + } + ] }, { code: 'it("has title but no callback")', - errors: [{ messageId: 'missingFunction', column: 1, line: 1 }] + errors: [ + { + column: 1, + endColumn: 32, + endLine: 1, + line: 1, + messageId: 'missingFunction' + } + ] }, { code: 'test("has title but no callback")', - errors: [{ messageId: 'missingFunction', column: 1, line: 1 }] + errors: [ + { + column: 1, + endColumn: 34, + endLine: 1, + line: 1, + messageId: 'missingFunction' + } + ] }, { code: 'it("contains a call to pending", function () { pending() })', - errors: [{ messageId: 'pendingTest', column: 48, line: 1 }] + errors: [ + { + column: 48, + endColumn: 57, + endLine: 1, + line: 1, + messageId: 'pendingTest' + } + ] }, { code: 'pending();', - errors: [{ messageId: 'pending', column: 1, line: 1 }] + errors: [ + { + column: 1, + endColumn: 10, + endLine: 1, + line: 1, + messageId: 'pending' + } + ] } ] }) diff --git a/tests/prefer-lowercase-title.test.ts b/tests/prefer-lowercase-title.test.ts index 78931c8..2e88715 100644 --- a/tests/prefer-lowercase-title.test.ts +++ b/tests/prefer-lowercase-title.test.ts @@ -64,6 +64,6 @@ ruleTester.run(RULE_NAME, rule, { } } ] - }, + } ] })