@@ -348,7 +348,7 @@ ruleTester.run(RULE_NAME, rule, {
348
348
( {
349
349
code : `
350
350
import { fireEvent } from '${ testingFramework } '
351
- test('unhandled promise from event method is invalid', async () => {
351
+ test('unhandled promise from event method is invalid', () => {
352
352
fireEvent.${ eventMethod } (getByLabelText('username'))
353
353
})
354
354
` ,
@@ -367,6 +367,64 @@ ruleTester.run(RULE_NAME, rule, {
367
367
test('unhandled promise from event method is invalid', async () => {
368
368
await fireEvent.${ eventMethod } (getByLabelText('username'))
369
369
})
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 : 7 ,
385
+ endColumn : 17 + 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)
370
428
` ,
371
429
} as const )
372
430
) ,
@@ -429,7 +487,7 @@ ruleTester.run(RULE_NAME, rule, {
429
487
( {
430
488
code : `
431
489
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() {
433
491
fireEvent.${ eventMethod } (getByLabelText('username'))
434
492
fireEvent.${ eventMethod } (getByLabelText('username'))
435
493
})
@@ -451,7 +509,7 @@ ruleTester.run(RULE_NAME, rule, {
451
509
options : [ { eventModule : 'fireEvent' } ] ,
452
510
output : `
453
511
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() {
455
513
await fireEvent.${ eventMethod } (getByLabelText('username'))
456
514
await fireEvent.${ eventMethod } (getByLabelText('username'))
457
515
})
@@ -466,7 +524,7 @@ ruleTester.run(RULE_NAME, rule, {
466
524
} ,
467
525
code : `
468
526
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() {
470
528
fireEvent.${ eventMethod } (getByLabelText('username'))
471
529
})
472
530
` ,
@@ -481,7 +539,7 @@ ruleTester.run(RULE_NAME, rule, {
481
539
options : [ { eventModule : 'fireEvent' } ] ,
482
540
output : `
483
541
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() {
485
543
await fireEvent.${ eventMethod } (getByLabelText('username'))
486
544
})
487
545
` ,
@@ -514,7 +572,7 @@ ruleTester.run(RULE_NAME, rule, {
514
572
import { fireEvent } from 'test-utils'
515
573
test(
516
574
'unhandled promise from event method imported from custom module with aggressive reporting opted-out is invalid',
517
- () => {
575
+ async () => {
518
576
await fireEvent.${ eventMethod } (getByLabelText('username'))
519
577
})
520
578
` ,
@@ -547,7 +605,7 @@ ruleTester.run(RULE_NAME, rule, {
547
605
import { fireEvent } from '${ testingFramework } '
548
606
test(
549
607
'unhandled promise from event method imported from default module with aggressive reporting opted-out is invalid',
550
- () => {
608
+ async () => {
551
609
await fireEvent.${ eventMethod } (getByLabelText('username'))
552
610
})
553
611
` ,
@@ -578,7 +636,7 @@ ruleTester.run(RULE_NAME, rule, {
578
636
import { fireEvent } from '${ testingFramework } '
579
637
test(
580
638
'unhandled promise from event method kept in a var is invalid',
581
- () => {
639
+ async () => {
582
640
const promise = await fireEvent.${ eventMethod } (getByLabelText('username'))
583
641
})
584
642
` ,
@@ -609,7 +667,7 @@ ruleTester.run(RULE_NAME, rule, {
609
667
options : [ { eventModule : 'fireEvent' } ] ,
610
668
output : `
611
669
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 () => {
613
671
function triggerEvent() {
614
672
doSomething()
615
673
return fireEvent.${ eventMethod } (getByLabelText('username'))
@@ -627,7 +685,7 @@ ruleTester.run(RULE_NAME, rule, {
627
685
( {
628
686
code : `
629
687
import userEvent from '${ testingFramework } '
630
- test('unhandled promise from event method is invalid', async () => {
688
+ test('unhandled promise from event method is invalid', () => {
631
689
userEvent.${ eventMethod } (getByLabelText('username'))
632
690
})
633
691
` ,
@@ -646,6 +704,31 @@ ruleTester.run(RULE_NAME, rule, {
646
704
test('unhandled promise from event method is invalid', async () => {
647
705
await userEvent.${ eventMethod } (getByLabelText('username'))
648
706
})
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 : 7 ,
722
+ endColumn : 17 + 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'))
649
732
` ,
650
733
} as const )
651
734
) ,
@@ -654,7 +737,7 @@ ruleTester.run(RULE_NAME, rule, {
654
737
( {
655
738
code : `
656
739
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', () => {
658
741
testingLibraryUserEvent.${ eventMethod } (getByLabelText('username'))
659
742
})
660
743
` ,
@@ -681,7 +764,7 @@ ruleTester.run(RULE_NAME, rule, {
681
764
( {
682
765
code : `
683
766
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', () => {
685
768
userEvent.${ eventMethod } (getByLabelText('username'))
686
769
userEvent.${ eventMethod } (getByLabelText('username'))
687
770
})
@@ -734,7 +817,7 @@ ruleTester.run(RULE_NAME, rule, {
734
817
import userEvent from '${ testingFramework } '
735
818
test(
736
819
'unhandled promise from event method kept in a var is invalid',
737
- () => {
820
+ async () => {
738
821
const promise = await userEvent.${ eventMethod } (getByLabelText('username'))
739
822
})
740
823
` ,
@@ -745,7 +828,7 @@ ruleTester.run(RULE_NAME, rule, {
745
828
( {
746
829
code : `
747
830
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() {
749
832
function triggerEvent() {
750
833
doSomething()
751
834
return userEvent.${ eventMethod } (getByLabelText('username'))
@@ -765,7 +848,7 @@ ruleTester.run(RULE_NAME, rule, {
765
848
options : [ { eventModule : 'userEvent' } ] ,
766
849
output : `
767
850
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() {
769
852
function triggerEvent() {
770
853
doSomething()
771
854
return userEvent.${ eventMethod } (getByLabelText('username'))
@@ -781,7 +864,7 @@ ruleTester.run(RULE_NAME, rule, {
781
864
code : `
782
865
import userEvent from '${ USER_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
783
866
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', () => {
785
868
fireEvent.click(getByLabelText('username'))
786
869
userEvent.click(getByLabelText('username'))
787
870
})
@@ -814,7 +897,7 @@ ruleTester.run(RULE_NAME, rule, {
814
897
code : `
815
898
import userEvent from '${ USER_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
816
899
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() {
818
901
fireEvent.click(getByLabelText('username'))
819
902
userEvent.click(getByLabelText('username'))
820
903
})
@@ -830,7 +913,7 @@ ruleTester.run(RULE_NAME, rule, {
830
913
output : `
831
914
import userEvent from '${ USER_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
832
915
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() {
834
917
fireEvent.click(getByLabelText('username'))
835
918
await userEvent.click(getByLabelText('username'))
836
919
})
0 commit comments