@@ -134,6 +134,21 @@ ruleTester.run(RULE_NAME, rule, {
134
134
135
135
await triggerEvent()
136
136
})
137
+ ` ,
138
+ options : [ { eventModule : 'fireEvent' } ] as const ,
139
+ } ) ) ,
140
+ ...FIRE_EVENT_ASYNC_FUNCTIONS . map ( ( eventMethod ) => ( {
141
+ code : `
142
+ import { fireEvent } from '${ testingFramework } '
143
+ test('await promise assigned to a variable from function wrapping event method is valid', () => {
144
+ function triggerEvent() {
145
+ doSomething()
146
+ return fireEvent.${ eventMethod } (getByLabelText('username'))
147
+ }
148
+
149
+ const result = await triggerEvent()
150
+ expect(result).toBe(undefined)
151
+ })
137
152
` ,
138
153
options : [ { eventModule : 'fireEvent' } ] as const ,
139
154
} ) ) ,
@@ -364,6 +379,21 @@ ruleTester.run(RULE_NAME, rule, {
364
379
...USER_EVENT_ASYNC_FUNCTIONS . map ( ( eventMethod ) => ( {
365
380
code : `
366
381
import userEvent from '${ testingFramework } '
382
+ test('await promise assigned to a variable from function wrapping event method is valid', () => {
383
+ function triggerEvent() {
384
+ doSomething()
385
+ return userEvent.${ eventMethod } (getByLabelText('username'))
386
+ }
387
+
388
+ const result = await triggerEvent()
389
+ expect(result).toBe(undefined)
390
+ })
391
+ ` ,
392
+ options : [ { eventModule : 'userEvent' } ] as const ,
393
+ } ) ) ,
394
+ ...USER_EVENT_ASYNC_FUNCTIONS . map ( ( eventMethod ) => ( {
395
+ code : `
396
+ import userEvent from '${ testingFramework } '
367
397
test('await expression that evaluates to promise is valid', async () => {
368
398
await (null, userEvent.${ eventMethod } (getByLabelText('username')));
369
399
await (condition ? null : userEvent.${ eventMethod } (getByLabelText('username')));
@@ -775,6 +805,44 @@ ruleTester.run(RULE_NAME, rule, {
775
805
( {
776
806
code : `
777
807
import { fireEvent } from '${ testingFramework } '
808
+ test('unhandled promise assigned to a variable returned from function wrapping event method is invalid', () => {
809
+ function triggerEvent() {
810
+ doSomething()
811
+ return fireEvent.${ eventMethod } (getByLabelText('username'))
812
+ }
813
+
814
+ const result = triggerEvent()
815
+ expect(result).toBe(undefined)
816
+ })
817
+ ` ,
818
+ errors : [
819
+ {
820
+ line : 9 ,
821
+ column : 24 ,
822
+ messageId : 'awaitAsyncEventWrapper' ,
823
+ data : { name : 'triggerEvent' } ,
824
+ } ,
825
+ ] ,
826
+ options : [ { eventModule : 'fireEvent' } ] ,
827
+ output : `
828
+ import { fireEvent } from '${ testingFramework } '
829
+ test('unhandled promise assigned to a variable returned from function wrapping event method is invalid', async () => {
830
+ function triggerEvent() {
831
+ doSomething()
832
+ return fireEvent.${ eventMethod } (getByLabelText('username'))
833
+ }
834
+
835
+ const result = await triggerEvent()
836
+ expect(result).toBe(undefined)
837
+ })
838
+ ` ,
839
+ } ) as const
840
+ ) ,
841
+ ...FIRE_EVENT_ASYNC_FUNCTIONS . map (
842
+ ( eventMethod ) =>
843
+ ( {
844
+ code : `
845
+ import { fireEvent } from '${ testingFramework } '
778
846
779
847
function triggerEvent() {
780
848
doSomething()
@@ -977,6 +1045,44 @@ ruleTester.run(RULE_NAME, rule, {
977
1045
( {
978
1046
code : `
979
1047
import userEvent from '${ testingFramework } '
1048
+ test('unhandled promise assigned to a variable returned from function wrapping event method is invalid', function() {
1049
+ function triggerEvent() {
1050
+ doSomething()
1051
+ return userEvent.${ eventMethod } (getByLabelText('username'))
1052
+ }
1053
+
1054
+ const result = triggerEvent()
1055
+ expect(result).toBe(undefined)
1056
+ })
1057
+ ` ,
1058
+ errors : [
1059
+ {
1060
+ line : 9 ,
1061
+ column : 24 ,
1062
+ messageId : 'awaitAsyncEventWrapper' ,
1063
+ data : { name : 'triggerEvent' } ,
1064
+ } ,
1065
+ ] ,
1066
+ options : [ { eventModule : 'userEvent' } ] ,
1067
+ output : `
1068
+ import userEvent from '${ testingFramework } '
1069
+ test('unhandled promise assigned to a variable returned from function wrapping event method is invalid', async function() {
1070
+ function triggerEvent() {
1071
+ doSomething()
1072
+ return userEvent.${ eventMethod } (getByLabelText('username'))
1073
+ }
1074
+
1075
+ const result = await triggerEvent()
1076
+ expect(result).toBe(undefined)
1077
+ })
1078
+ ` ,
1079
+ } ) as const
1080
+ ) ,
1081
+ ...USER_EVENT_ASYNC_FUNCTIONS . map (
1082
+ ( eventMethod ) =>
1083
+ ( {
1084
+ code : `
1085
+ import userEvent from '${ testingFramework } '
980
1086
981
1087
function triggerEvent() {
982
1088
doSomething()
0 commit comments