@@ -348,7 +348,7 @@ ruleTester.run(RULE_NAME, rule, {
348348 ( {
349349 code : `
350350 import { fireEvent } from '${ testingFramework } '
351- test('unhandled promise from event method is invalid', async () => {
351+ test('unhandled promise from event method is invalid', () => {
352352 fireEvent.${ eventMethod } (getByLabelText('username'))
353353 })
354354 ` ,
@@ -367,6 +367,64 @@ ruleTester.run(RULE_NAME, rule, {
367367 test('unhandled promise from event method is invalid', async () => {
368368 await fireEvent.${ eventMethod } (getByLabelText('username'))
369369 })
370+ ` ,
371+ } as const )
372+ ) ,
373+ ...FIRE_EVENT_ASYNC_FUNCTIONS . map (
374+ ( eventMethod ) =>
375+ ( {
376+ code : `
377+ import { fireEvent } from '${ testingFramework } '
378+
379+ fireEvent.${ eventMethod } (getByLabelText('username'))
380+ ` ,
381+ errors : [
382+ {
383+ line : 4 ,
384+ column : 4 ,
385+ endColumn : 14 + eventMethod . length ,
386+ messageId : 'awaitAsyncEvent' ,
387+ data : { name : eventMethod } ,
388+ } ,
389+ ] ,
390+ options : [ { eventModule : 'fireEvent' } ] ,
391+ output : `
392+ import { fireEvent } from '${ testingFramework } '
393+
394+ await fireEvent.${ eventMethod } (getByLabelText('username'))
395+ ` ,
396+ } as const )
397+ ) ,
398+ ...FIRE_EVENT_ASYNC_FUNCTIONS . map (
399+ ( eventMethod ) =>
400+ ( {
401+ code : `
402+ import { fireEvent } from '${ testingFramework } '
403+
404+ function run() {
405+ fireEvent.${ eventMethod } (getByLabelText('username'))
406+ }
407+
408+ test('should handle external function', run)
409+ ` ,
410+ errors : [
411+ {
412+ line : 5 ,
413+ column : 9 ,
414+ endColumn : 19 + eventMethod . length ,
415+ messageId : 'awaitAsyncEvent' ,
416+ data : { name : eventMethod } ,
417+ } ,
418+ ] ,
419+ options : [ { eventModule : 'fireEvent' } ] ,
420+ output : `
421+ import { fireEvent } from '${ testingFramework } '
422+
423+ async function run() {
424+ await fireEvent.${ eventMethod } (getByLabelText('username'))
425+ }
426+
427+ test('should handle external function', run)
370428 ` ,
371429 } as const )
372430 ) ,
@@ -429,7 +487,7 @@ ruleTester.run(RULE_NAME, rule, {
429487 ( {
430488 code : `
431489 import { fireEvent } from '${ testingFramework } '
432- test('several unhandled promises from event methods is invalid', async () => {
490+ test('several unhandled promises from event methods is invalid', async function() {
433491 fireEvent.${ eventMethod } (getByLabelText('username'))
434492 fireEvent.${ eventMethod } (getByLabelText('username'))
435493 })
@@ -451,7 +509,7 @@ ruleTester.run(RULE_NAME, rule, {
451509 options : [ { eventModule : 'fireEvent' } ] ,
452510 output : `
453511 import { fireEvent } from '${ testingFramework } '
454- test('several unhandled promises from event methods is invalid', async () => {
512+ test('several unhandled promises from event methods is invalid', async function() {
455513 await fireEvent.${ eventMethod } (getByLabelText('username'))
456514 await fireEvent.${ eventMethod } (getByLabelText('username'))
457515 })
@@ -466,7 +524,7 @@ ruleTester.run(RULE_NAME, rule, {
466524 } ,
467525 code : `
468526 import { fireEvent } from '${ testingFramework } '
469- test('unhandled promise from event method with aggressive reporting opted-out is invalid', async () => {
527+ test('unhandled promise from event method with aggressive reporting opted-out is invalid', function() {
470528 fireEvent.${ eventMethod } (getByLabelText('username'))
471529 })
472530 ` ,
@@ -481,7 +539,7 @@ ruleTester.run(RULE_NAME, rule, {
481539 options : [ { eventModule : 'fireEvent' } ] ,
482540 output : `
483541 import { fireEvent } from '${ testingFramework } '
484- test('unhandled promise from event method with aggressive reporting opted-out is invalid', async () => {
542+ test('unhandled promise from event method with aggressive reporting opted-out is invalid', async function() {
485543 await fireEvent.${ eventMethod } (getByLabelText('username'))
486544 })
487545 ` ,
@@ -514,7 +572,7 @@ ruleTester.run(RULE_NAME, rule, {
514572 import { fireEvent } from 'test-utils'
515573 test(
516574 'unhandled promise from event method imported from custom module with aggressive reporting opted-out is invalid',
517- () => {
575+ async () => {
518576 await fireEvent.${ eventMethod } (getByLabelText('username'))
519577 })
520578 ` ,
@@ -547,7 +605,7 @@ ruleTester.run(RULE_NAME, rule, {
547605 import { fireEvent } from '${ testingFramework } '
548606 test(
549607 'unhandled promise from event method imported from default module with aggressive reporting opted-out is invalid',
550- () => {
608+ async () => {
551609 await fireEvent.${ eventMethod } (getByLabelText('username'))
552610 })
553611 ` ,
@@ -578,7 +636,7 @@ ruleTester.run(RULE_NAME, rule, {
578636 import { fireEvent } from '${ testingFramework } '
579637 test(
580638 'unhandled promise from event method kept in a var is invalid',
581- () => {
639+ async () => {
582640 const promise = await fireEvent.${ eventMethod } (getByLabelText('username'))
583641 })
584642 ` ,
@@ -609,7 +667,7 @@ ruleTester.run(RULE_NAME, rule, {
609667 options : [ { eventModule : 'fireEvent' } ] ,
610668 output : `
611669 import { fireEvent } from '${ testingFramework } '
612- test('unhandled promise returned from function wrapping event method is invalid', () => {
670+ test('unhandled promise returned from function wrapping event method is invalid', async () => {
613671 function triggerEvent() {
614672 doSomething()
615673 return fireEvent.${ eventMethod } (getByLabelText('username'))
@@ -627,7 +685,7 @@ ruleTester.run(RULE_NAME, rule, {
627685 ( {
628686 code : `
629687 import userEvent from '${ testingFramework } '
630- test('unhandled promise from event method is invalid', async () => {
688+ test('unhandled promise from event method is invalid', () => {
631689 userEvent.${ eventMethod } (getByLabelText('username'))
632690 })
633691 ` ,
@@ -646,6 +704,31 @@ ruleTester.run(RULE_NAME, rule, {
646704 test('unhandled promise from event method is invalid', async () => {
647705 await userEvent.${ eventMethod } (getByLabelText('username'))
648706 })
707+ ` ,
708+ } as const )
709+ ) ,
710+ ...USER_EVENT_ASYNC_FUNCTIONS . map (
711+ ( eventMethod ) =>
712+ ( {
713+ code : `
714+ import userEvent from '${ testingFramework } '
715+
716+ userEvent.${ eventMethod } (getByLabelText('username'))
717+ ` ,
718+ errors : [
719+ {
720+ line : 4 ,
721+ column : 4 ,
722+ endColumn : 14 + eventMethod . length ,
723+ messageId : 'awaitAsyncEvent' ,
724+ data : { name : eventMethod } ,
725+ } ,
726+ ] ,
727+ options : [ { eventModule : 'userEvent' } ] ,
728+ output : `
729+ import userEvent from '${ testingFramework } '
730+
731+ await userEvent.${ eventMethod } (getByLabelText('username'))
649732 ` ,
650733 } as const )
651734 ) ,
@@ -654,7 +737,7 @@ ruleTester.run(RULE_NAME, rule, {
654737 ( {
655738 code : `
656739 import testingLibraryUserEvent from '${ testingFramework } '
657- test('unhandled promise imported from alternate name event method is invalid', async () => {
740+ test('unhandled promise imported from alternate name event method is invalid', () => {
658741 testingLibraryUserEvent.${ eventMethod } (getByLabelText('username'))
659742 })
660743 ` ,
@@ -681,7 +764,7 @@ ruleTester.run(RULE_NAME, rule, {
681764 ( {
682765 code : `
683766 import userEvent from '${ testingFramework } '
684- test('several unhandled promises from event methods is invalid', async () => {
767+ test('several unhandled promises from event methods is invalid', () => {
685768 userEvent.${ eventMethod } (getByLabelText('username'))
686769 userEvent.${ eventMethod } (getByLabelText('username'))
687770 })
@@ -734,7 +817,7 @@ ruleTester.run(RULE_NAME, rule, {
734817 import userEvent from '${ testingFramework } '
735818 test(
736819 'unhandled promise from event method kept in a var is invalid',
737- () => {
820+ async () => {
738821 const promise = await userEvent.${ eventMethod } (getByLabelText('username'))
739822 })
740823 ` ,
@@ -745,7 +828,7 @@ ruleTester.run(RULE_NAME, rule, {
745828 ( {
746829 code : `
747830 import userEvent from '${ testingFramework } '
748- test('unhandled promise returned from function wrapping event method is invalid', () => {
831+ test('unhandled promise returned from function wrapping event method is invalid', function() {
749832 function triggerEvent() {
750833 doSomething()
751834 return userEvent.${ eventMethod } (getByLabelText('username'))
@@ -765,7 +848,7 @@ ruleTester.run(RULE_NAME, rule, {
765848 options : [ { eventModule : 'userEvent' } ] ,
766849 output : `
767850 import userEvent from '${ testingFramework } '
768- test('unhandled promise returned from function wrapping event method is invalid', () => {
851+ test('unhandled promise returned from function wrapping event method is invalid', async function() {
769852 function triggerEvent() {
770853 doSomething()
771854 return userEvent.${ eventMethod } (getByLabelText('username'))
@@ -781,7 +864,7 @@ ruleTester.run(RULE_NAME, rule, {
781864 code : `
782865 import userEvent from '${ USER_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
783866 import { fireEvent } from '${ FIRE_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
784- test('unhandled promises from multiple event modules', async () => {
867+ test('unhandled promises from multiple event modules', () => {
785868 fireEvent.click(getByLabelText('username'))
786869 userEvent.click(getByLabelText('username'))
787870 })
@@ -814,7 +897,7 @@ ruleTester.run(RULE_NAME, rule, {
814897 code : `
815898 import userEvent from '${ USER_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
816899 import { fireEvent } from '${ FIRE_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
817- test('unhandled promise from userEvent relying on default options', async () => {
900+ test('unhandled promise from userEvent relying on default options', async function() {
818901 fireEvent.click(getByLabelText('username'))
819902 userEvent.click(getByLabelText('username'))
820903 })
@@ -830,7 +913,7 @@ ruleTester.run(RULE_NAME, rule, {
830913 output : `
831914 import userEvent from '${ USER_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
832915 import { fireEvent } from '${ FIRE_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
833- test('unhandled promise from userEvent relying on default options', async () => {
916+ test('unhandled promise from userEvent relying on default options', async function() {
834917 fireEvent.click(getByLabelText('username'))
835918 await userEvent.click(getByLabelText('username'))
836919 })
0 commit comments