diff --git a/lib/rules/await-async-events.ts b/lib/rules/await-async-events.ts index 6ca29473..06a80d78 100644 --- a/lib/rules/await-async-events.ts +++ b/lib/rules/await-async-events.ts @@ -122,6 +122,10 @@ export default createTestingLibraryRule({ (isFireEventEnabled && helpers.isFireEventMethod(node)) || (isUserEventEnabled && helpers.isUserEventMethod(node)) ) { + if (node.name === USER_EVENT_SETUP_FUNCTION_NAME) { + return; + } + detectEventMethodWrapper(node); const closestCallExpression = findClosestCallExpressionNode( @@ -133,10 +137,6 @@ export default createTestingLibraryRule({ return; } - if (node.name === USER_EVENT_SETUP_FUNCTION_NAME) { - return; - } - const references = getVariableReferences( context, closestCallExpression.parent diff --git a/tests/lib/rules/await-async-events.test.ts b/tests/lib/rules/await-async-events.test.ts index 894f7f92..505e1972 100644 --- a/tests/lib/rules/await-async-events.test.ts +++ b/tests/lib/rules/await-async-events.test.ts @@ -204,6 +204,16 @@ ruleTester.run(RULE_NAME, rule, { `, options: [{ eventModule: 'userEvent' }] as const, }, + { + code: ` + import userEvent from '${testingFramework}' + const customSetup = () => userEvent.setup(); + test('setup method called and returned as arrow function body is valid', () => { + const user = customSetup(); + }) + `, + options: [{ eventModule: 'userEvent' }] as const, + }, { code: ` import userEvent from '${testingFramework}'