Skip to content

Commit bb3ced4

Browse files
committed
fix: no-wait-for-side-effects doesn't detect await expression
Closes testing-library#742
1 parent 8905e0c commit bb3ced4

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

lib/node-utils/index.ts

+4
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,10 @@ export function getPropertyIdentifierNode(
374374
return getPropertyIdentifierNode(node.expression);
375375
}
376376

377+
if (ASTUtils.isAwaitExpression(node)) {
378+
return getPropertyIdentifierNode(node.argument);
379+
}
380+
377381
return null;
378382
}
379383

tests/lib/rules/no-wait-for-side-effects.test.ts

+24
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,16 @@ ruleTester.run(RULE_NAME, rule, {
112112
// Side effects are allowed inside .then()
113113
userEvent.click(button);
114114
})
115+
`,
116+
},
117+
{
118+
code: `
119+
import { waitFor } from '${testingFramework}';
120+
import { notUserEvent } from 'somewhere-else';
121+
122+
waitFor(() => {
123+
await notUserEvent.click(button)
124+
})
115125
`,
116126
},
117127
]),
@@ -797,5 +807,19 @@ ruleTester.run(RULE_NAME, rule, {
797807
],
798808
} as const,
799809
]),
810+
811+
...SUPPORTED_TESTING_FRAMEWORKS.flatMap((testingFramework) => [
812+
{
813+
code: `
814+
import { waitFor } from '${testingFramework}';
815+
import userEvent from '@testing-library/user-event'
816+
817+
await waitFor(() => {
818+
await userEvent.click(button);
819+
})
820+
`,
821+
errors: [{ line: 6, column: 11, messageId: 'noSideEffectsWaitFor' }],
822+
},
823+
]),
800824
],
801825
});

0 commit comments

Comments
 (0)