Skip to content

Commit 63def3a

Browse files
author
Charley
committed
test: more tests
1 parent 9677748 commit 63def3a

File tree

1 file changed

+106
-0
lines changed

1 file changed

+106
-0
lines changed

tests/lib/rules/await-async-events.test.ts

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,21 @@ ruleTester.run(RULE_NAME, rule, {
134134
135135
await triggerEvent()
136136
})
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+
})
137152
`,
138153
options: [{ eventModule: 'fireEvent' }] as const,
139154
})),
@@ -364,6 +379,21 @@ ruleTester.run(RULE_NAME, rule, {
364379
...USER_EVENT_ASYNC_FUNCTIONS.map((eventMethod) => ({
365380
code: `
366381
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}'
367397
test('await expression that evaluates to promise is valid', async () => {
368398
await (null, userEvent.${eventMethod}(getByLabelText('username')));
369399
await (condition ? null : userEvent.${eventMethod}(getByLabelText('username')));
@@ -775,6 +805,44 @@ ruleTester.run(RULE_NAME, rule, {
775805
({
776806
code: `
777807
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}'
778846
779847
function triggerEvent() {
780848
doSomething()
@@ -977,6 +1045,44 @@ ruleTester.run(RULE_NAME, rule, {
9771045
({
9781046
code: `
9791047
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}'
9801086
9811087
function triggerEvent() {
9821088
doSomething()

0 commit comments

Comments
 (0)