Skip to content

Commit 2588602

Browse files
committed
Merge remote-tracking branch 'origin/main' into v4
# Conflicts: # lib/rules/no-await-sync-events.ts # tests/lib/rules/no-await-sync-events.test.ts
2 parents 9bcf595 + 4d5b422 commit 2588602

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

.github/workflows/pipeline.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121

2222
steps:
2323
- name: Cancel Previous Runs
24-
uses: styfle/cancel-workflow-action@0.6.0
24+
uses: styfle/cancel-workflow-action@0.8.0
2525
with:
2626
access_token: ${{ secrets.GITHUB_TOKEN }}
2727

@@ -58,7 +58,7 @@ jobs:
5858

5959
steps:
6060
- name: Cancel Previous Runs
61-
uses: styfle/cancel-workflow-action@0.6.0
61+
uses: styfle/cancel-workflow-action@0.8.0
6262
with:
6363
access_token: ${{ secrets.GITHUB_TOKEN }}
6464
- name: Checkout
@@ -91,7 +91,7 @@ jobs:
9191

9292
steps:
9393
- name: Cancel Previous Runs
94-
uses: styfle/cancel-workflow-action@0.6.0
94+
uses: styfle/cancel-workflow-action@0.8.0
9595
with:
9696
access_token: ${{ secrets.GITHUB_TOKEN }}
9797
- name: Checkout

lib/rules/no-await-sync-events.ts

+5-4
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,11 @@ export default ESLintUtils.RuleCreator(getDocsUrl)<Options, MessageIds>({
3939
const memberExpression = node.parent as TSESTree.MemberExpression;
4040
const methodNode = memberExpression.property as TSESTree.Identifier;
4141
const callExpression = memberExpression.parent as TSESTree.CallExpression;
42+
const lastArg =
43+
callExpression.arguments[callExpression.arguments.length - 1];
4244
const withDelay =
43-
callExpression.arguments.length >= 3 &&
44-
isObjectExpression(callExpression.arguments[2]) &&
45-
callExpression.arguments[2].properties.some(
45+
isObjectExpression(lastArg) &&
46+
lastArg.properties.some(
4647
(property) =>
4748
isProperty(property) &&
4849
ASTUtils.isIdentifier(property.key) &&
@@ -52,7 +53,7 @@ export default ESLintUtils.RuleCreator(getDocsUrl)<Options, MessageIds>({
5253
if (
5354
!(
5455
node.name === 'userEvent' &&
55-
methodNode.name === 'type' &&
56+
['type', 'keyboard'].includes(methodNode.name) &&
5657
withDelay
5758
)
5859
) {

tests/lib/rules/no-await-sync-events.test.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,12 @@ ruleTester.run(RULE_NAME, rule, {
142142
}
143143
`,
144144
},
145+
{
146+
code: `() => {
147+
await userEvent.keyboard('foo', {delay: 1234})
148+
}
149+
`,
150+
},
145151
],
146152

147153
invalid: [
@@ -161,9 +167,13 @@ ruleTester.run(RULE_NAME, rule, {
161167
import userEvent from '@testing-library/user-event';
162168
test('should report sync event awaited', async() => {
163169
await userEvent.type('foo', 'bar', {hello: 1234});
170+
await userEvent.keyboard('foo', {hello: 1234});
164171
});
165172
`,
166-
errors: [{ line: 4, messageId: 'noAwaitSyncEvents' }],
173+
errors: [
174+
{ line: 4, messageId: 'noAwaitSyncEvents' },
175+
{ line: 5, messageId: 'noAwaitSyncEvents' },
176+
],
167177
},
168178
],
169179
});

0 commit comments

Comments
 (0)