Skip to content

Commit ae38932

Browse files
authored
Merge pull request #882 from bmish/no-pause-test-check-imports
Check imports in `no-pause-test` rule
2 parents 5ff33d0 + f830778 commit ae38932

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

lib/rules/no-pause-test.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
const emberUtils = require('../utils/ember');
44
const types = require('../utils/types');
5+
const { getImportIdentifier } = require('../utils/import');
56

67
const ERROR_MESSAGE = 'Do not use `pauseTest()`';
78

@@ -30,12 +31,21 @@ module.exports = {
3031
return {};
3132
}
3233

34+
let importedPauseTestName;
35+
3336
return {
37+
ImportDeclaration(node) {
38+
if (node.source.value === '@ember/test-helpers') {
39+
importedPauseTestName =
40+
importedPauseTestName || getImportIdentifier(node, '@ember/test-helpers', 'pauseTest');
41+
}
42+
},
43+
3444
CallExpression(node) {
3545
const { callee } = node;
3646

3747
if (
38-
(types.isIdentifier(callee) && callee.name === 'pauseTest') ||
48+
(types.isIdentifier(callee) && callee.name === importedPauseTestName) ||
3949
(types.isThisExpression(callee.object) &&
4050
types.isIdentifier(callee.property) &&
4151
callee.property.name === 'pauseTest')

tests/lib/rules/no-pause-test.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,12 @@ ruleTester.run('no-pause-test', rule, {
3434
},
3535
{
3636
filename: TEST_FILE_NAME,
37-
code: 'pauseTest.otherFunction(myFunction);',
37+
code: "import { pauseTest } from '@ember/test-helpers'; pauseTest.otherFunction(myFunction);",
38+
},
39+
{
40+
// Missing import:
41+
filename: TEST_FILE_NAME,
42+
code: 'pauseTest();',
3843
},
3944
{
4045
filename: 'not-a-test-file.js',
@@ -50,7 +55,14 @@ ruleTester.run('no-pause-test', rule, {
5055
},
5156
{
5257
filename: TEST_FILE_NAME,
53-
code: 'async () => { await pauseTest(); }',
58+
code: "import { pauseTest } from '@ember/test-helpers'; pauseTest();",
59+
output: null,
60+
errors: [{ message: ERROR_MESSAGE, type: 'CallExpression' }],
61+
},
62+
{
63+
// Renamed import:
64+
filename: TEST_FILE_NAME,
65+
code: "import { pauseTest as pt } from '@ember/test-helpers'; pt();",
5466
output: null,
5567
errors: [{ message: ERROR_MESSAGE, type: 'CallExpression' }],
5668
},
@@ -67,6 +79,7 @@ ruleTester.run('no-pause-test', rule, {
6779
{
6880
filename: TEST_FILE_NAME,
6981
code: `
82+
import { pauseTest } from '@ember/test-helpers';
7083
test('bar', async function(assert) {
7184
await pauseTest();
7285
});

0 commit comments

Comments
 (0)