@@ -359,6 +359,12 @@ ruleTester.run(RULE_NAME, rule, {
359
359
} ,
360
360
] ,
361
361
options : [ { eventModule : 'fireEvent' } ] ,
362
+ output : `
363
+ import { fireEvent } from '${ testingFramework } '
364
+ test('unhandled promise from event method is invalid', async () => {
365
+ await fireEvent.${ eventMethod } (getByLabelText('username'))
366
+ })
367
+ ` ,
362
368
} as const )
363
369
) ,
364
370
...FIRE_EVENT_ASYNC_FUNCTIONS . map (
@@ -380,6 +386,12 @@ ruleTester.run(RULE_NAME, rule, {
380
386
} ,
381
387
] ,
382
388
options : [ { eventModule : 'fireEvent' } ] ,
389
+ output : `
390
+ import { fireEvent as testingLibraryFireEvent } from '${ testingFramework } '
391
+ test('unhandled promise from aliased event method is invalid', async () => {
392
+ await testingLibraryFireEvent.${ eventMethod } (getByLabelText('username'))
393
+ })
394
+ ` ,
383
395
} as const )
384
396
) ,
385
397
...FIRE_EVENT_ASYNC_FUNCTIONS . map (
@@ -401,6 +413,12 @@ ruleTester.run(RULE_NAME, rule, {
401
413
} ,
402
414
] ,
403
415
options : [ { eventModule : 'fireEvent' } ] ,
416
+ output : `
417
+ import * as testingLibrary from '${ testingFramework } '
418
+ test('unhandled promise from wildcard imported event method is invalid', async () => {
419
+ await testingLibrary.fireEvent.${ eventMethod } (getByLabelText('username'))
420
+ })
421
+ ` ,
404
422
} as const )
405
423
) ,
406
424
...FIRE_EVENT_ASYNC_FUNCTIONS . map (
@@ -428,6 +446,13 @@ ruleTester.run(RULE_NAME, rule, {
428
446
} ,
429
447
] ,
430
448
options : [ { eventModule : 'fireEvent' } ] ,
449
+ output : `
450
+ import { fireEvent } from '${ testingFramework } '
451
+ test('several unhandled promises from event methods is invalid', async () => {
452
+ await fireEvent.${ eventMethod } (getByLabelText('username'))
453
+ await fireEvent.${ eventMethod } (getByLabelText('username'))
454
+ })
455
+ ` ,
431
456
} as const )
432
457
) ,
433
458
...FIRE_EVENT_ASYNC_FUNCTIONS . map (
@@ -451,6 +476,12 @@ ruleTester.run(RULE_NAME, rule, {
451
476
} ,
452
477
] ,
453
478
options : [ { eventModule : 'fireEvent' } ] ,
479
+ output : `
480
+ import { fireEvent } from '${ testingFramework } '
481
+ test('unhandled promise from event method with aggressive reporting opted-out is invalid', async () => {
482
+ await fireEvent.${ eventMethod } (getByLabelText('username'))
483
+ })
484
+ ` ,
454
485
} as const )
455
486
) ,
456
487
...FIRE_EVENT_ASYNC_FUNCTIONS . map (
@@ -476,6 +507,14 @@ ruleTester.run(RULE_NAME, rule, {
476
507
} ,
477
508
] ,
478
509
options : [ { eventModule : 'fireEvent' } ] ,
510
+ output : `
511
+ import { fireEvent } from 'test-utils'
512
+ test(
513
+ 'unhandled promise from event method imported from custom module with aggressive reporting opted-out is invalid',
514
+ () => {
515
+ await fireEvent.${ eventMethod } (getByLabelText('username'))
516
+ })
517
+ ` ,
479
518
} as const )
480
519
) ,
481
520
...FIRE_EVENT_ASYNC_FUNCTIONS . map (
@@ -501,6 +540,14 @@ ruleTester.run(RULE_NAME, rule, {
501
540
} ,
502
541
] ,
503
542
options : [ { eventModule : 'fireEvent' } ] ,
543
+ output : `
544
+ import { fireEvent } from '${ testingFramework } '
545
+ test(
546
+ 'unhandled promise from event method imported from default module with aggressive reporting opted-out is invalid',
547
+ () => {
548
+ await fireEvent.${ eventMethod } (getByLabelText('username'))
549
+ })
550
+ ` ,
504
551
} as const )
505
552
) ,
506
553
@@ -524,6 +571,14 @@ ruleTester.run(RULE_NAME, rule, {
524
571
} ,
525
572
] ,
526
573
options : [ { eventModule : 'fireEvent' } ] ,
574
+ output : `
575
+ import { fireEvent } from '${ testingFramework } '
576
+ test(
577
+ 'unhandled promise from event method kept in a var is invalid',
578
+ () => {
579
+ const promise = await fireEvent.${ eventMethod } (getByLabelText('username'))
580
+ })
581
+ ` ,
527
582
} as const )
528
583
) ,
529
584
...FIRE_EVENT_ASYNC_FUNCTIONS . map (
@@ -549,6 +604,17 @@ ruleTester.run(RULE_NAME, rule, {
549
604
} ,
550
605
] ,
551
606
options : [ { eventModule : 'fireEvent' } ] ,
607
+ output : `
608
+ import { fireEvent } from '${ testingFramework } '
609
+ test('unhandled promise returned from function wrapping event method is invalid', () => {
610
+ function triggerEvent() {
611
+ doSomething()
612
+ return fireEvent.${ eventMethod } (getByLabelText('username'))
613
+ }
614
+
615
+ await triggerEvent()
616
+ })
617
+ ` ,
552
618
} as const )
553
619
) ,
554
620
] ) ,
@@ -572,6 +638,12 @@ ruleTester.run(RULE_NAME, rule, {
572
638
} ,
573
639
] ,
574
640
options : [ { eventModule : 'userEvent' } ] ,
641
+ output : `
642
+ import userEvent from '${ testingFramework } '
643
+ test('unhandled promise from event method is invalid', async () => {
644
+ await userEvent.${ eventMethod } (getByLabelText('username'))
645
+ })
646
+ ` ,
575
647
} as const )
576
648
) ,
577
649
...USER_EVENT_ASYNC_FUNCTIONS . map (
@@ -593,6 +665,12 @@ ruleTester.run(RULE_NAME, rule, {
593
665
} ,
594
666
] ,
595
667
options : [ { eventModule : 'userEvent' } ] ,
668
+ output : `
669
+ import testingLibraryUserEvent from '${ testingFramework } '
670
+ test('unhandled promise imported from alternate name event method is invalid', async () => {
671
+ await testingLibraryUserEvent.${ eventMethod } (getByLabelText('username'))
672
+ })
673
+ ` ,
596
674
} as const )
597
675
) ,
598
676
...USER_EVENT_ASYNC_FUNCTIONS . map (
@@ -620,6 +698,13 @@ ruleTester.run(RULE_NAME, rule, {
620
698
} ,
621
699
] ,
622
700
options : [ { eventModule : 'userEvent' } ] ,
701
+ output : `
702
+ import userEvent from '${ testingFramework } '
703
+ test('several unhandled promises from event methods is invalid', async () => {
704
+ await userEvent.${ eventMethod } (getByLabelText('username'))
705
+ await userEvent.${ eventMethod } (getByLabelText('username'))
706
+ })
707
+ ` ,
623
708
} as const )
624
709
) ,
625
710
...USER_EVENT_ASYNC_FUNCTIONS . map (
@@ -642,6 +727,14 @@ ruleTester.run(RULE_NAME, rule, {
642
727
} ,
643
728
] ,
644
729
options : [ { eventModule : 'userEvent' } ] ,
730
+ output : `
731
+ import userEvent from '${ testingFramework } '
732
+ test(
733
+ 'unhandled promise from event method kept in a var is invalid',
734
+ () => {
735
+ const promise = await userEvent.${ eventMethod } (getByLabelText('username'))
736
+ })
737
+ ` ,
645
738
} as const )
646
739
) ,
647
740
...USER_EVENT_ASYNC_FUNCTIONS . map (
@@ -667,14 +760,25 @@ ruleTester.run(RULE_NAME, rule, {
667
760
} ,
668
761
] ,
669
762
options : [ { eventModule : 'userEvent' } ] ,
763
+ output : `
764
+ import userEvent from '${ testingFramework } '
765
+ test('unhandled promise returned from function wrapping event method is invalid', () => {
766
+ function triggerEvent() {
767
+ doSomething()
768
+ return userEvent.${ eventMethod } (getByLabelText('username'))
769
+ }
770
+
771
+ await triggerEvent()
772
+ })
773
+ ` ,
670
774
} as const )
671
775
) ,
672
776
] ) ,
673
777
{
674
778
code : `
675
779
import userEvent from '${ USER_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
676
780
import { fireEvent } from '${ FIRE_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
677
- test('unhandled promises from multiple event modules', async () => {
781
+ test('unhandled promises from multiple event modules', async () => {
678
782
fireEvent.click(getByLabelText('username'))
679
783
userEvent.click(getByLabelText('username'))
680
784
})
@@ -694,6 +798,14 @@ ruleTester.run(RULE_NAME, rule, {
694
798
} ,
695
799
] ,
696
800
options : [ { eventModule : [ 'userEvent' , 'fireEvent' ] } ] as Options ,
801
+ output : `
802
+ import userEvent from '${ USER_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
803
+ import { fireEvent } from '${ FIRE_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
804
+ test('unhandled promises from multiple event modules', async () => {
805
+ await fireEvent.click(getByLabelText('username'))
806
+ await userEvent.click(getByLabelText('username'))
807
+ })
808
+ ` ,
697
809
} ,
698
810
{
699
811
code : `
@@ -712,6 +824,14 @@ ruleTester.run(RULE_NAME, rule, {
712
824
data : { name : 'click' } ,
713
825
} ,
714
826
] ,
827
+ output : `
828
+ import userEvent from '${ USER_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
829
+ import { fireEvent } from '${ FIRE_EVENT_ASYNC_FRAMEWORKS [ 0 ] } '
830
+ test('unhandled promise from userEvent relying on default options', async () => {
831
+ fireEvent.click(getByLabelText('username'))
832
+ await userEvent.click(getByLabelText('username'))
833
+ })
834
+ ` ,
715
835
} ,
716
836
] ,
717
837
} ) ;
0 commit comments