Skip to content

Commit d8e9865

Browse files
author
Charley
committed
feat: expand async matcher support
1 parent b1a4da7 commit d8e9865

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

lib/node-utils/index.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,12 @@ const matcherNamesHandlePromise = [
525525
'rejects',
526526
'toResolve',
527527
'toReject',
528+
'toBeRejected',
529+
'toBeRejectedWith',
530+
'toBeRejectedWithError',
531+
'toBePending',
532+
'toBeResolved',
533+
'toBeResolvedTo',
528534
];
529535

530536
/**
@@ -539,7 +545,7 @@ export function hasClosestExpectResolvesRejects(node: TSESTree.Node): boolean {
539545
ASTUtils.isIdentifier(node.callee) &&
540546
node.parent &&
541547
isMemberExpression(node.parent) &&
542-
node.callee.name === 'expect'
548+
['expect', 'expectAsync'].includes(node.callee.name)
543549
) {
544550
const expectMatcher = node.parent.property;
545551
return (

tests/lib/rules/await-async-queries.test.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,24 @@ ruleTester.run(RULE_NAME, rule, {
261261
`
262262
),
263263

264+
// jasmine async matchers are valid
265+
...createTestCase(
266+
(query) => `
267+
expectAsync(${query}("foo")).toBeRejected()
268+
expectAsync(wrappedQuery(${query}("foo"))).toBeRejected()
269+
expectAsync(${query}("foo")).toBeRejectedWith("bar")
270+
expectAsync(wrappedQuery(${query}("foo"))).toBeRejectedWith("bar")
271+
expectAsync(${query}("foo")).toBeRejectedWithError("bar")
272+
expectAsync(wrappedQuery(${query}("foo"))).toBeRejectedWithError("bar")
273+
expectAsync(${query}("foo")).toBePending()
274+
expectAsync(wrappedQuery(${query}("foo"))).toBePending()
275+
expectAsync(${query}("foo")).toBeResolved()
276+
expectAsync(wrappedQuery(${query}("foo"))).toBeResolved()
277+
expectAsync(${query}("foo")).toBeResolvedTo("bar")
278+
expectAsync(wrappedQuery(${query}("foo"))).toBeResolvedTo("bar")
279+
`
280+
),
281+
264282
// unresolved async queries with aggressive reporting opted-out are valid
265283
...ALL_ASYNC_COMBINATIONS_TO_TEST.map((query) => ({
266284
settings: { 'testing-library/utils-module': 'test-utils' },

0 commit comments

Comments
 (0)