Skip to content

Commit 588a72c

Browse files
committed
test: no-wait-for-side-effects
1 parent dc031f6 commit 588a72c

File tree

1 file changed

+42
-29
lines changed

1 file changed

+42
-29
lines changed

tests/lib/rules/no-wait-for-side-effects.test.ts

+42-29
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,27 @@ ruleTester.run(RULE_NAME, rule, {
77
valid: [
88
{
99
code: `
10-
import { waitFor } from '@testing-library/react';
10+
import { waitFor } from '@testing-library/react';
11+
await waitFor(() => expect(a).toEqual('a'))
12+
`,
13+
},
14+
{
15+
code: `
16+
import { waitFor } from '@marko/testing-library';
1117
await waitFor(() => expect(a).toEqual('a'))
1218
`,
1319
},
1420
{
1521
code: `
16-
import { waitFor } from '@testing-library/react';
22+
import { waitFor } from '@testing-library/react';
1723
await waitFor(function() {
1824
expect(a).toEqual('a')
1925
})
2026
`,
2127
},
2228
{
2329
code: `
24-
import { waitFor } from '@testing-library/react';
30+
import { waitFor } from '@testing-library/react';
2531
await waitFor(() => {
2632
console.log('testing-library')
2733
expect(b).toEqual('b')
@@ -30,7 +36,7 @@ ruleTester.run(RULE_NAME, rule, {
3036
},
3137
{
3238
code: `
33-
import { waitFor } from '@testing-library/react';
39+
import { waitFor } from '@testing-library/react';
3440
await waitFor(function() {
3541
console.log('testing-library')
3642
expect(b).toEqual('b')
@@ -39,35 +45,35 @@ ruleTester.run(RULE_NAME, rule, {
3945
},
4046
{
4147
code: `
42-
import { waitFor } from '@testing-library/react';
48+
import { waitFor } from '@testing-library/react';
4349
await waitFor(() => {})
4450
`,
4551
},
4652
{
4753
code: `
48-
import { waitFor } from '@testing-library/react';
54+
import { waitFor } from '@testing-library/react';
4955
await waitFor(function() {})
5056
`,
5157
},
5258
{
5359
code: `
54-
import { waitFor } from '@testing-library/react';
60+
import { waitFor } from '@testing-library/react';
5561
await waitFor(() => {
5662
// testing
5763
})
5864
`,
5965
},
6066
{
6167
code: `
62-
import { waitFor } from '@testing-library/react';
68+
import { waitFor } from '@testing-library/react';
6369
await waitFor(function() {
6470
// testing
6571
})
6672
`,
6773
},
6874
{
6975
code: `
70-
import { waitFor } from '@testing-library/react';
76+
import { waitFor } from '@testing-library/react';
7177
fireEvent.keyDown(input, {key: 'ArrowDown'})
7278
await waitFor(() => {
7379
expect(b).toEqual('b')
@@ -76,7 +82,7 @@ ruleTester.run(RULE_NAME, rule, {
7682
},
7783
{
7884
code: `
79-
import { waitFor } from '@testing-library/react';
85+
import { waitFor } from '@testing-library/react';
8086
fireEvent.keyDown(input, {key: 'ArrowDown'})
8187
await waitFor(function() {
8288
expect(b).toEqual('b')
@@ -85,7 +91,7 @@ ruleTester.run(RULE_NAME, rule, {
8591
},
8692
{
8793
code: `
88-
import { waitFor } from '@testing-library/react';
94+
import { waitFor } from '@testing-library/react';
8995
userEvent.click(button)
9096
await waitFor(function() {
9197
expect(b).toEqual('b')
@@ -95,7 +101,7 @@ ruleTester.run(RULE_NAME, rule, {
95101
{
96102
settings: { 'testing-library/utils-module': 'test-utils' },
97103
code: `
98-
import { waitFor } from 'somewhere-else';
104+
import { waitFor } from 'somewhere-else';
99105
await waitFor(function() {
100106
fireEvent.keyDown(input, {key: 'ArrowDown'})
101107
expect(b).toEqual('b')
@@ -105,12 +111,12 @@ ruleTester.run(RULE_NAME, rule, {
105111
{
106112
code: `
107113
import { waitFor } from '@testing-library/react';
108-
114+
109115
anotherFunction(() => {
110116
fireEvent.keyDown(input, {key: 'ArrowDown'});
111117
userEvent.click(button);
112118
});
113-
119+
114120
test('side effects in functions other than waitFor are valid', () => {
115121
fireEvent.keyDown(input, {key: 'ArrowDown'})
116122
userEvent.click(button)
@@ -311,6 +317,13 @@ ruleTester.run(RULE_NAME, rule, {
311317
`,
312318
errors: [{ line: 3, column: 29, messageId: 'noSideEffectsWaitFor' }],
313319
},
320+
{
321+
code: `
322+
import { waitFor } from '@marko/testing-library';
323+
await waitFor(() => render(<App />))
324+
`,
325+
errors: [{ line: 3, column: 29, messageId: 'noSideEffectsWaitFor' }],
326+
},
314327
{
315328
code: `
316329
import { waitFor } from '@testing-library/react';
@@ -541,7 +554,7 @@ ruleTester.run(RULE_NAME, rule, {
541554
},
542555
{
543556
code: `
544-
import { waitFor, fireEvent as renamedFireEvent } from '@testing-library/react';
557+
import { waitFor, fireEvent as renamedFireEvent } from '@testing-library/react';
545558
await waitFor(() => {
546559
renamedFireEvent.keyDown(input, {key: 'ArrowDown'})
547560
})
@@ -551,7 +564,7 @@ ruleTester.run(RULE_NAME, rule, {
551564
{
552565
settings: { 'testing-library/utils-module': '~/test-utils' },
553566
code: `
554-
import { waitFor, fireEvent } from '~/test-utils';
567+
import { waitFor, fireEvent } from '~/test-utils';
555568
await waitFor(() => {
556569
fireEvent.keyDown(input, {key: 'ArrowDown'})
557570
})
@@ -560,7 +573,7 @@ ruleTester.run(RULE_NAME, rule, {
560573
},
561574
{
562575
code: `
563-
import { waitFor } from '@testing-library/react';
576+
import { waitFor } from '@testing-library/react';
564577
await waitFor(() => {
565578
expect(b).toEqual('b')
566579
fireEvent.keyDown(input, {key: 'ArrowDown'})
@@ -570,7 +583,7 @@ ruleTester.run(RULE_NAME, rule, {
570583
},
571584
{
572585
code: `
573-
import { waitFor } from '@testing-library/react';
586+
import { waitFor } from '@testing-library/react';
574587
await waitFor(() => {
575588
fireEvent.keyDown(input, {key: 'ArrowDown'})
576589
expect(b).toEqual('b')
@@ -580,7 +593,7 @@ ruleTester.run(RULE_NAME, rule, {
580593
},
581594
{
582595
code: `
583-
import { waitFor } from '@testing-library/react';
596+
import { waitFor } from '@testing-library/react';
584597
await waitFor(function() {
585598
fireEvent.keyDown(input, {key: 'ArrowDown'})
586599
})
@@ -589,7 +602,7 @@ ruleTester.run(RULE_NAME, rule, {
589602
},
590603
{
591604
code: `
592-
import { waitFor } from '@testing-library/react';
605+
import { waitFor } from '@testing-library/react';
593606
await waitFor(function() {
594607
expect(b).toEqual('b')
595608
fireEvent.keyDown(input, {key: 'ArrowDown'})
@@ -599,7 +612,7 @@ ruleTester.run(RULE_NAME, rule, {
599612
},
600613
{
601614
code: `
602-
import { waitFor } from '@testing-library/react';
615+
import { waitFor } from '@testing-library/react';
603616
await waitFor(function() {
604617
fireEvent.keyDown(input, {key: 'ArrowDown'})
605618
expect(b).toEqual('b')
@@ -627,7 +640,7 @@ ruleTester.run(RULE_NAME, rule, {
627640
{
628641
code: `
629642
import { waitFor } from '@testing-library/react';
630-
import renamedUserEvent from '@testing-library/user-event'
643+
import renamedUserEvent from '@testing-library/user-event'
631644
await waitFor(() => {
632645
renamedUserEvent.click(button)
633646
})
@@ -638,7 +651,7 @@ ruleTester.run(RULE_NAME, rule, {
638651
settings: { 'testing-library/utils-module': '~/test-utils' },
639652
code: `
640653
import { waitFor } from '~/test-utils';
641-
import userEvent from '@testing-library/user-event'
654+
import userEvent from '@testing-library/user-event'
642655
await waitFor(() => {
643656
userEvent.click();
644657
})
@@ -647,7 +660,7 @@ ruleTester.run(RULE_NAME, rule, {
647660
},
648661
{
649662
code: `
650-
import { waitFor } from '@testing-library/react';
663+
import { waitFor } from '@testing-library/react';
651664
await waitFor(() => {
652665
expect(b).toEqual('b')
653666
userEvent.click(button)
@@ -657,7 +670,7 @@ ruleTester.run(RULE_NAME, rule, {
657670
},
658671
{
659672
code: `
660-
import { waitFor } from '@testing-library/react';
673+
import { waitFor } from '@testing-library/react';
661674
await waitFor(() => {
662675
userEvent.click(button)
663676
expect(b).toEqual('b')
@@ -667,7 +680,7 @@ ruleTester.run(RULE_NAME, rule, {
667680
},
668681
{
669682
code: `
670-
import { waitFor } from '@testing-library/react';
683+
import { waitFor } from '@testing-library/react';
671684
await waitFor(function() {
672685
userEvent.click(button)
673686
})
@@ -676,7 +689,7 @@ ruleTester.run(RULE_NAME, rule, {
676689
},
677690
{
678691
code: `
679-
import { waitFor } from '@testing-library/react';
692+
import { waitFor } from '@testing-library/react';
680693
await waitFor(function() {
681694
expect(b).toEqual('b')
682695
userEvent.click(button)
@@ -686,7 +699,7 @@ ruleTester.run(RULE_NAME, rule, {
686699
},
687700
{
688701
code: `
689-
import { waitFor } from '@testing-library/react';
702+
import { waitFor } from '@testing-library/react';
690703
await waitFor(function() {
691704
userEvent.click(button)
692705
expect(b).toEqual('b')
@@ -701,7 +714,7 @@ ruleTester.run(RULE_NAME, rule, {
701714
import { waitFor, fireEvent as renamedFireEvent, screen } from '~/test-utils';
702715
import userEvent from '@testing-library/user-event'
703716
import { fireEvent } from 'somewhere-else'
704-
717+
705718
test('check all mixed', async () => {
706719
const button = await screen.findByRole('button')
707720
await waitFor(() => {

0 commit comments

Comments
 (0)