@@ -121,20 +121,29 @@ export default createTestingLibraryRule<Options, MessageIds>({
121
121
functionWrappersNames . push ( ( node . id as TSESTree . Identifier ) . name ) ;
122
122
}
123
123
} ,
124
- 'CallExpression Identifier' ( node : TSESTree . Identifier ) {
124
+ CallExpression ( node : TSESTree . CallExpression ) {
125
+ const callExpressionIdentifier = getDeepestIdentifierNode ( node ) ;
126
+
127
+ if ( ! callExpressionIdentifier ) {
128
+ return ;
129
+ }
130
+
125
131
const isAsyncUtilOrKnownAliasAroundIt =
126
- helpers . isAsyncUtil ( node ) ||
127
- functionWrappersNames . includes ( node . name ) ;
132
+ helpers . isAsyncUtil ( callExpressionIdentifier ) ||
133
+ functionWrappersNames . includes ( callExpressionIdentifier . name ) ;
128
134
if ( ! isAsyncUtilOrKnownAliasAroundIt ) {
129
135
return ;
130
136
}
131
137
132
138
// detect async query used within wrapper function for later analysis
133
- if ( helpers . isAsyncUtil ( node ) ) {
134
- detectAsyncUtilWrapper ( node ) ;
139
+ if ( helpers . isAsyncUtil ( callExpressionIdentifier ) ) {
140
+ detectAsyncUtilWrapper ( callExpressionIdentifier ) ;
135
141
}
136
142
137
- const closestCallExpression = findClosestCallExpressionNode ( node , true ) ;
143
+ const closestCallExpression = findClosestCallExpressionNode (
144
+ callExpressionIdentifier ,
145
+ true
146
+ ) ;
138
147
139
148
if ( ! closestCallExpression ?. parent ) {
140
149
return ;
@@ -146,12 +155,12 @@ export default createTestingLibraryRule<Options, MessageIds>({
146
155
) ;
147
156
148
157
if ( references . length === 0 ) {
149
- if ( ! isPromiseHandled ( node ) ) {
158
+ if ( ! isPromiseHandled ( callExpressionIdentifier ) ) {
150
159
context . report ( {
151
- node,
152
- messageId : getMessageId ( node ) ,
160
+ node : callExpressionIdentifier ,
161
+ messageId : getMessageId ( callExpressionIdentifier ) ,
153
162
data : {
154
- name : node . name ,
163
+ name : callExpressionIdentifier . name ,
155
164
} ,
156
165
} ) ;
157
166
}
@@ -160,10 +169,10 @@ export default createTestingLibraryRule<Options, MessageIds>({
160
169
const referenceNode = reference . identifier as TSESTree . Identifier ;
161
170
if ( ! isPromiseHandled ( referenceNode ) ) {
162
171
context . report ( {
163
- node,
164
- messageId : getMessageId ( node ) ,
172
+ node : callExpressionIdentifier ,
173
+ messageId : getMessageId ( callExpressionIdentifier ) ,
165
174
data : {
166
- name : node . name ,
175
+ name : callExpressionIdentifier . name ,
167
176
} ,
168
177
} ) ;
169
178
return ;
0 commit comments