Skip to content

Commit 07d2137

Browse files
authored
fix(valid-expect-in-promise): support out of order awaits (#939)
1 parent e731bce commit 07d2137

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/rules/__tests__/valid-expect-in-promise.test.ts

+13
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,19 @@ ruleTester.run('valid-expect-in-promise', rule, {
383383
}
384384
);
385385
`,
386+
dedent`
387+
it('is valid', async () => {
388+
const promiseOne = loadNumber().then(number => {
389+
expect(typeof number).toBe('number');
390+
});
391+
const promiseTwo = loadNumber().then(number => {
392+
expect(typeof number).toBe('number');
393+
});
394+
395+
await promiseTwo;
396+
await promiseOne;
397+
});
398+
`,
386399
dedent`
387400
it("it1", () => somePromise.then(() => {
388401
expect(someThing).toEqual(true)

src/rules/valid-expect-in-promise.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,11 @@ const isValueAwaitedOrReturned = (
163163
}
164164

165165
if (node.type === AST_NODE_TYPES.ExpressionStatement) {
166-
if (node.expression.type === AST_NODE_TYPES.AwaitExpression) {
167-
return isPromiseMethodThatUsesValue(node.expression, identifier);
166+
if (
167+
node.expression.type === AST_NODE_TYPES.AwaitExpression &&
168+
isPromiseMethodThatUsesValue(node.expression, identifier)
169+
) {
170+
return true;
168171
}
169172

170173
// (re)assignment changes the runtime value, so if we've not found an

0 commit comments

Comments
 (0)