Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions lib/node-utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,10 @@ function getRootExpression(
return parent.expressions[parent.expressions.length - 1] === expression
? getRootExpression(parent)
: expression;

case AST_NODE_TYPES.ChainExpression:
return getRootExpression(parent);

default:
return expression;
}
Expand Down
3 changes: 3 additions & 0 deletions tests/lib/rules/await-async-queries.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,9 @@ ruleTester.run(RULE_NAME, rule, {
// async screen queries declaration are valid
...createTestCase((query) => `await screen.${query}('foo')`),

// async queries with optional chaining are valid
...createTestCase((query) => `await screen?.${query}('foo')`),

// async @marko/testing-library screen queries declaration are valid
...createTestCase((query) => `await screen.${query}('foo')`, {
testingFramework: '@marko/testing-library',
Expand Down