@@ -218,6 +218,7 @@ export function isPromisesArrayResolved(node: TSESTree.Node): boolean {
218
218
* - it's returned from a function
219
219
* - has `resolves` or `rejects` jest methods
220
220
* - has `toResolve` or `toReject` jest-extended matchers
221
+ * - has a jasmine async matcher
221
222
*/
222
223
export function isPromiseHandled ( nodeIdentifier : TSESTree . Identifier ) : boolean {
223
224
const closestCallExpressionNode = findClosestCallExpressionNode (
@@ -241,7 +242,7 @@ export function isPromiseHandled(nodeIdentifier: TSESTree.Identifier): boolean {
241
242
isReturnStatement ( node . parent )
242
243
)
243
244
return true ;
244
- if ( hasClosestExpectResolvesRejects ( node . parent ) ) return true ;
245
+ if ( hasClosestExpectHandlesPromise ( node . parent ) ) return true ;
245
246
if ( hasChainedThen ( node ) ) return true ;
246
247
if ( isPromisesArrayResolved ( node ) ) return true ;
247
248
} ) ;
@@ -521,25 +522,34 @@ export function getAssertNodeInfo(
521
522
}
522
523
523
524
const matcherNamesHandlePromise = [
525
+ // jest matchers
524
526
'resolves' ,
525
527
'rejects' ,
528
+ // jest-extended matchers
526
529
'toResolve' ,
527
530
'toReject' ,
531
+ // jasmine matchers
532
+ 'toBeRejected' ,
533
+ 'toBeRejectedWith' ,
534
+ 'toBeRejectedWithError' ,
535
+ 'toBePending' ,
536
+ 'toBeResolved' ,
537
+ 'toBeResolvedTo' ,
528
538
] ;
529
539
530
540
/**
531
- * Determines whether a node belongs to an async assertion
532
- * fulfilled by `resolves` or `rejects` properties or
533
- * by `toResolve` or `toReject` jest-extended matchers
534
- *
541
+ * Determines whether a node belongs to an async assertion that is fulfilled by:
542
+ * - `resolves` or `rejects` properties
543
+ * - `toResolve` or `toReject` jest-extended matchers
544
+ * - jasmine async matchers
535
545
*/
536
- export function hasClosestExpectResolvesRejects ( node : TSESTree . Node ) : boolean {
546
+ export function hasClosestExpectHandlesPromise ( node : TSESTree . Node ) : boolean {
537
547
if (
538
548
isCallExpression ( node ) &&
539
549
ASTUtils . isIdentifier ( node . callee ) &&
540
550
node . parent &&
541
551
isMemberExpression ( node . parent ) &&
542
- node . callee . name === 'expect'
552
+ [ 'expect' , 'expectAsync' ] . includes ( node . callee . name )
543
553
) {
544
554
const expectMatcher = node . parent . property ;
545
555
return (
@@ -552,7 +562,7 @@ export function hasClosestExpectResolvesRejects(node: TSESTree.Node): boolean {
552
562
return false ;
553
563
}
554
564
555
- return hasClosestExpectResolvesRejects ( node . parent ) ;
565
+ return hasClosestExpectHandlesPromise ( node . parent ) ;
556
566
}
557
567
558
568
/**
0 commit comments