From 5497dc269825c89c7022febed7efed741826b6b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20Beltr=C3=A1n?= Date: Mon, 15 Jan 2024 08:42:33 +0100 Subject: [PATCH] refactor: fix ts-expect-error (#873) --- lib/rules/no-await-sync-events.ts | 12 ++++++------ tests/lib/rules/no-await-sync-events.test.ts | 13 +++++++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/lib/rules/no-await-sync-events.ts b/lib/rules/no-await-sync-events.ts index 514fe225..0a18b195 100644 --- a/lib/rules/no-await-sync-events.ts +++ b/lib/rules/no-await-sync-events.ts @@ -76,8 +76,8 @@ export default createTestingLibraryRule({ property.id.name === 'delay' && isLiteral(property.init) && property.init.value && - // @ts-expect-error -- TODO: fix me - property.init.value > 0 + Number.isInteger(property.init.value) && + Number(property.init.value) > 0 ); }, AssignmentExpression(node: TSESTree.AssignmentExpression) { @@ -89,8 +89,8 @@ export default createTestingLibraryRule({ isLiteral(node.right) && node.right.value !== null ) { - // @ts-expect-error -- TODO: fix me - hasDelayDeclarationOrAssignmentGTZero = node.right.value > 0; + hasDelayDeclarationOrAssignmentGTZero = + Number.isInteger(node.right.value) && Number(node.right.value) > 0; } }, 'AwaitExpression > CallExpression'(node: TSESTree.CallExpression) { @@ -143,8 +143,8 @@ export default createTestingLibraryRule({ property.key.name === 'delay' && isLiteral(property.value) && !!property.value.value && - // @ts-expect-error -- TODO: fix me - property.value.value > 0 + Number.isInteger(property.value.value) && + Number(property.value.value) > 0 ); const simulateEventFunctionName = simulateEventFunctionIdentifier.name; diff --git a/tests/lib/rules/no-await-sync-events.test.ts b/tests/lib/rules/no-await-sync-events.test.ts index a7a93125..93ff235c 100644 --- a/tests/lib/rules/no-await-sync-events.test.ts +++ b/tests/lib/rules/no-await-sync-events.test.ts @@ -142,6 +142,12 @@ ruleTester.run(RULE_NAME, rule, { code: `() => { await userEvent.type(element, 'bar', {delay: 1234}) } + `, + }, + { + code: `() => { + await userEvent.type(element, 'bar', {delay: null}) + } `, }, { @@ -155,6 +161,13 @@ ruleTester.run(RULE_NAME, rule, { const delay = 10 await userEvent.keyboard('foo', {delay}) } + `, + }, + { + code: `async() => { + const delay = null + await userEvent.keyboard('foo', {delay}) + } `, }, {