Skip to content

Commit ee81058

Browse files
G-RathSimenB
authored andcommitted
chore(no-test-prefixes): migrate to TS (#328)
1 parent e938636 commit ee81058

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

src/rules/__tests__/no-test-prefixes.test.js renamed to src/rules/__tests__/no-test-prefixes.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { RuleTester } from 'eslint';
1+
import { TSESLint } from '@typescript-eslint/experimental-utils';
22
import rule from '../no-test-prefixes';
33

4-
const ruleTester = new RuleTester();
4+
const ruleTester = new TSESLint.RuleTester();
55

66
ruleTester.run('no-test-prefixes', rule, {
77
valid: [
@@ -15,6 +15,7 @@ ruleTester.run('no-test-prefixes', rule, {
1515
'it.skip("foo", function () {})',
1616
'test.skip("foo", function () {})',
1717
'foo()',
18+
'[1,2,3].forEach()',
1819
],
1920
invalid: [
2021
{

src/rules/no-test-prefixes.js renamed to src/rules/no-test-prefixes.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
1-
import { getDocsUrl, getNodeName, isDescribe, isTestCase } from './util';
1+
import { createRule, getNodeName, isDescribe, isTestCase } from './tsUtils';
22

3-
export default {
3+
export default createRule({
4+
name: __filename,
45
meta: {
56
docs: {
6-
url: getDocsUrl(__filename),
7+
category: 'Best Practices',
8+
description: 'Use `.only` and `.skip` over `f` and `x`',
9+
recommended: 'error',
710
},
811
messages: {
912
usePreferredName: 'Use "{{ preferredNodeName }}" instead',
1013
},
1114
fixable: 'code',
1215
schema: [],
16+
type: 'suggestion',
1317
},
18+
defaultOptions: [],
1419
create(context) {
1520
return {
1621
CallExpression(node) {
1722
const nodeName = getNodeName(node.callee);
1823

19-
if (!isDescribe(node) && !isTestCase(node)) return;
24+
if (!nodeName || (!isDescribe(node) && !isTestCase(node))) return;
2025

2126
const preferredNodeName = getPreferredNodeName(nodeName);
2227

@@ -33,9 +38,9 @@ export default {
3338
},
3439
};
3540
},
36-
};
41+
});
3742

38-
function getPreferredNodeName(nodeName) {
43+
function getPreferredNodeName(nodeName: string) {
3944
const firstChar = nodeName.charAt(0);
4045

4146
if (firstChar === 'f') {

0 commit comments

Comments
 (0)