Skip to content

Commit 0907dab

Browse files
sukvvonmanudeli
andauthored
test(react-query/QueryResetErrorBoundary): remove 'vi.waitFor' and add 'advanceTimersByTimeAsync' (#9365)
Co-authored-by: Jonghyeon Ko <[email protected]>
1 parent d449f6f commit 0907dab

File tree

1 file changed

+69
-101
lines changed

1 file changed

+69
-101
lines changed

packages/react-query/src/__tests__/QueryResetErrorBoundary.test.tsx

Lines changed: 69 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
2-
import { fireEvent } from '@testing-library/react'
2+
import { act, fireEvent } from '@testing-library/react'
33
import { ErrorBoundary } from 'react-error-boundary'
44
import * as React from 'react'
55
import { queryKey, sleep } from '@tanstack/query-test-utils'
@@ -77,17 +77,13 @@ describe('QueryErrorResetBoundary', () => {
7777
</QueryErrorResetBoundary>,
7878
)
7979

80-
await vi.waitFor(() =>
81-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
82-
)
83-
await vi.waitFor(() =>
84-
expect(rendered.getByText('retry')).toBeInTheDocument(),
85-
)
80+
await vi.advanceTimersByTimeAsync(11)
81+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
82+
expect(rendered.getByText('retry')).toBeInTheDocument()
8683
succeed = true
8784
fireEvent.click(rendered.getByText('retry'))
88-
await vi.waitFor(() =>
89-
expect(rendered.getByText('data')).toBeInTheDocument(),
90-
)
85+
await vi.advanceTimersByTimeAsync(11)
86+
expect(rendered.getByText('data')).toBeInTheDocument()
9187
consoleMock.mockRestore()
9288
})
9389

@@ -147,17 +143,13 @@ describe('QueryErrorResetBoundary', () => {
147143
</QueryErrorResetBoundary>,
148144
)
149145

150-
await vi.waitFor(() =>
151-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
152-
)
153-
await vi.waitFor(() =>
154-
expect(rendered.getByText('retry')).toBeInTheDocument(),
155-
)
146+
await vi.advanceTimersByTimeAsync(11)
147+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
148+
expect(rendered.getByText('retry')).toBeInTheDocument()
156149
succeed = true
157150
fireEvent.click(rendered.getByText('retry'))
158-
await vi.waitFor(() =>
159-
expect(rendered.getByText('status: error')).toBeInTheDocument(),
160-
)
151+
await vi.advanceTimersByTimeAsync(11)
152+
expect(rendered.getByText('status: error')).toBeInTheDocument()
161153
consoleMock.mockRestore()
162154
})
163155

@@ -219,17 +211,13 @@ describe('QueryErrorResetBoundary', () => {
219211
</QueryErrorResetBoundary>,
220212
)
221213

222-
await vi.waitFor(() =>
223-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
224-
)
225-
await vi.waitFor(() =>
226-
expect(rendered.getByText('retry')).toBeInTheDocument(),
227-
)
214+
await vi.advanceTimersByTimeAsync(11)
215+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
216+
expect(rendered.getByText('retry')).toBeInTheDocument()
228217
succeed = true
229218
fireEvent.click(rendered.getByText('retry'))
230-
await vi.waitFor(() =>
231-
expect(rendered.getByText('data')).toBeInTheDocument(),
232-
)
219+
await vi.advanceTimersByTimeAsync(11)
220+
expect(rendered.getByText('data')).toBeInTheDocument()
233221
consoleMock.mockRestore()
234222
})
235223

@@ -285,15 +273,12 @@ describe('QueryErrorResetBoundary', () => {
285273
</QueryErrorResetBoundary>,
286274
)
287275

288-
await vi.waitFor(() =>
289-
expect(
290-
rendered.getByText('status: pending, fetchStatus: idle'),
291-
).toBeInTheDocument(),
292-
)
276+
expect(
277+
rendered.getByText('status: pending, fetchStatus: idle'),
278+
).toBeInTheDocument()
293279
fireEvent.click(rendered.getByRole('button', { name: /refetch/i }))
294-
await vi.waitFor(() =>
295-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
296-
)
280+
await vi.advanceTimersByTimeAsync(0)
281+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
297282
consoleMock.mockRestore()
298283
})
299284

@@ -347,17 +332,13 @@ describe('QueryErrorResetBoundary', () => {
347332
</QueryErrorResetBoundary>,
348333
)
349334

350-
await vi.waitFor(() =>
351-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
352-
)
353-
await vi.waitFor(() =>
354-
expect(rendered.getByText('retry')).toBeInTheDocument(),
355-
)
335+
await vi.advanceTimersByTimeAsync(11)
336+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
337+
expect(rendered.getByText('retry')).toBeInTheDocument()
356338
succeed = true
357339
fireEvent.click(rendered.getByText('retry'))
358-
await vi.waitFor(() =>
359-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
360-
)
340+
await vi.advanceTimersByTimeAsync(11)
341+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
361342
consoleMock.mockRestore()
362343
})
363344

@@ -413,17 +394,13 @@ describe('QueryErrorResetBoundary', () => {
413394
</QueryErrorResetBoundary>,
414395
)
415396

416-
await vi.waitFor(() =>
417-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
418-
)
419-
await vi.waitFor(() =>
420-
expect(rendered.getByText('retry')).toBeInTheDocument(),
421-
)
397+
await vi.advanceTimersByTimeAsync(11)
398+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
399+
expect(rendered.getByText('retry')).toBeInTheDocument()
422400
succeed = true
423401
fireEvent.click(rendered.getByText('retry'))
424-
await vi.waitFor(() =>
425-
expect(rendered.getByText('data')).toBeInTheDocument(),
426-
)
402+
await vi.advanceTimersByTimeAsync(11)
403+
expect(rendered.getByText('data')).toBeInTheDocument()
427404
consoleMock.mockRestore()
428405
})
429406

@@ -483,21 +460,18 @@ describe('QueryErrorResetBoundary', () => {
483460
</QueryErrorResetBoundary>,
484461
)
485462

486-
await vi.waitFor(() =>
487-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
488-
)
489-
await vi.waitFor(() =>
490-
expect(rendered.getByText('retry')).toBeInTheDocument(),
491-
)
463+
await vi.advanceTimersByTimeAsync(11)
464+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
465+
expect(rendered.getByText('retry')).toBeInTheDocument()
492466
shouldReset = true
493467
fireEvent.click(rendered.getByText('retry'))
494-
await vi.waitFor(() =>
495-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
496-
)
468+
await vi.advanceTimersByTimeAsync(11)
469+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
497470
succeed = true
498471
shouldReset = false
499472
fireEvent.click(rendered.getByText('retry'))
500-
await vi.waitFor(() => rendered.getByText('error boundary'))
473+
await vi.advanceTimersByTimeAsync(11)
474+
rendered.getByText('error boundary')
501475
consoleMock.mockRestore()
502476
})
503477

@@ -548,13 +522,16 @@ describe('QueryErrorResetBoundary', () => {
548522
</QueryErrorResetBoundary>,
549523
)
550524

551-
await vi.waitFor(() => rendered.getByText('error boundary'))
552-
await vi.waitFor(() => rendered.getByText('retry'))
525+
await vi.advanceTimersByTimeAsync(11)
526+
rendered.getByText('error boundary')
527+
rendered.getByText('retry')
553528
fireEvent.click(rendered.getByText('retry'))
554-
await vi.waitFor(() => rendered.getByText('error boundary'))
555-
await vi.waitFor(() => rendered.getByText('retry'))
529+
await vi.advanceTimersByTimeAsync(11)
530+
rendered.getByText('error boundary')
531+
rendered.getByText('retry')
556532
fireEvent.click(rendered.getByText('retry'))
557-
await vi.waitFor(() => rendered.getByText('error boundary'))
533+
await vi.advanceTimersByTimeAsync(11)
534+
rendered.getByText('error boundary')
558535
expect(fetchCount).toBe(3)
559536
consoleMock.mockRestore()
560537
})
@@ -613,13 +590,16 @@ describe('QueryErrorResetBoundary', () => {
613590
</QueryErrorResetBoundary>,
614591
)
615592

616-
await vi.waitFor(() => rendered.getByText('error boundary'))
617-
await vi.waitFor(() => rendered.getByText('retry'))
593+
await act(() => vi.advanceTimersByTimeAsync(11))
594+
rendered.getByText('error boundary')
595+
rendered.getByText('retry')
618596
fireEvent.click(rendered.getByText('retry'))
619-
await vi.waitFor(() => rendered.getByText('error boundary'))
620-
await vi.waitFor(() => rendered.getByText('retry'))
597+
await act(() => vi.advanceTimersByTimeAsync(11))
598+
rendered.getByText('error boundary')
599+
rendered.getByText('retry')
621600
fireEvent.click(rendered.getByText('retry'))
622-
await vi.waitFor(() => rendered.getByText('data'))
601+
await act(() => vi.advanceTimersByTimeAsync(11))
602+
rendered.getByText('data')
623603
expect(fetchCount).toBe(3)
624604
expect(renders).toBe(1)
625605
consoleMock.mockRestore()
@@ -700,17 +680,13 @@ describe('QueryErrorResetBoundary', () => {
700680
</QueryErrorResetBoundary>,
701681
)
702682

703-
await vi.waitFor(() =>
704-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
705-
)
706-
await vi.waitFor(() =>
707-
expect(rendered.getByText('retry')).toBeInTheDocument(),
708-
)
683+
await vi.advanceTimersByTimeAsync(11)
684+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
685+
expect(rendered.getByText('retry')).toBeInTheDocument()
709686
succeed = true
710687
fireEvent.click(rendered.getByText('retry'))
711-
await vi.waitFor(() =>
712-
expect(rendered.getByText('data')).toBeInTheDocument(),
713-
)
688+
await vi.advanceTimersByTimeAsync(11)
689+
expect(rendered.getByText('data')).toBeInTheDocument()
714690
consoleMock.mockRestore()
715691
})
716692
})
@@ -771,17 +747,13 @@ describe('QueryErrorResetBoundary', () => {
771747
</QueryErrorResetBoundary>,
772748
)
773749

774-
await vi.waitFor(() =>
775-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
776-
)
777-
await vi.waitFor(() =>
778-
expect(rendered.getByText('retry')).toBeInTheDocument(),
779-
)
750+
await vi.advanceTimersByTimeAsync(11)
751+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
752+
expect(rendered.getByText('retry')).toBeInTheDocument()
780753
succeed = true
781754
fireEvent.click(rendered.getByText('retry'))
782-
await vi.waitFor(() =>
783-
expect(rendered.getByText('data')).toBeInTheDocument(),
784-
)
755+
await vi.advanceTimersByTimeAsync(11)
756+
expect(rendered.getByText('data')).toBeInTheDocument()
785757
consoleMock.mockRestore()
786758
})
787759

@@ -841,17 +813,13 @@ describe('QueryErrorResetBoundary', () => {
841813
</QueryErrorResetBoundary>,
842814
)
843815

844-
await vi.waitFor(() =>
845-
expect(rendered.getByText('error boundary')).toBeInTheDocument(),
846-
)
847-
await vi.waitFor(() =>
848-
expect(rendered.getByText('retry')).toBeInTheDocument(),
849-
)
816+
await act(() => vi.advanceTimersByTimeAsync(11))
817+
expect(rendered.getByText('error boundary')).toBeInTheDocument()
818+
expect(rendered.getByText('retry')).toBeInTheDocument()
850819
succeed = true
851820
fireEvent.click(rendered.getByText('retry'))
852-
await vi.waitFor(() =>
853-
expect(rendered.getByText('data')).toBeInTheDocument(),
854-
)
821+
await act(() => vi.advanceTimersByTimeAsync(11))
822+
expect(rendered.getByText('data')).toBeInTheDocument()
855823
consoleMock.mockRestore()
856824
})
857825
})

0 commit comments

Comments
 (0)