Skip to content

Commit f580f08

Browse files
sukvvonmanudeli
andauthored
test(react-query/suspense): remove 'vi.waitFor' and add 'advanceTimersByTime' (#9350)
Co-authored-by: Jonghyeon Ko <[email protected]>
1 parent eaf768b commit f580f08

File tree

1 file changed

+22
-38
lines changed

1 file changed

+22
-38
lines changed

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

Lines changed: 22 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
1-
import { act, render, waitFor } from '@testing-library/react'
1+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
2+
import { act, render } from '@testing-library/react'
23
import { Suspense } from 'react'
3-
import {
4-
afterAll,
5-
beforeAll,
6-
beforeEach,
7-
describe,
8-
expect,
9-
it,
10-
vi,
11-
} from 'vitest'
124
import { queryKey } from '@tanstack/query-test-utils'
135
import { QueryClient, QueryClientProvider, useSuspenseQuery } from '..'
146
import type { QueryKey } from '..'
@@ -43,15 +35,8 @@ describe('Suspense Timer Tests', () => {
4335
let queryClient: QueryClient
4436
let fetchCount: { count: number }
4537

46-
beforeAll(() => {
47-
vi.useFakeTimers({ shouldAdvanceTime: true })
48-
})
49-
50-
afterAll(() => {
51-
vi.useRealTimers()
52-
})
53-
5438
beforeEach(() => {
39+
vi.useFakeTimers()
5540
queryClient = new QueryClient({
5641
defaultOptions: {
5742
queries: {
@@ -62,6 +47,10 @@ describe('Suspense Timer Tests', () => {
6247
fetchCount = { count: 0 }
6348
})
6449

50+
afterEach(() => {
51+
vi.useRealTimers()
52+
})
53+
6554
it('should enforce minimum staleTime of 1000ms when using suspense with number', async () => {
6655
const TestComponent = createTestQuery({
6756
fetchCount,
@@ -71,7 +60,8 @@ describe('Suspense Timer Tests', () => {
7160

7261
const rendered = renderWithSuspense(queryClient, <TestComponent />)
7362

74-
await waitFor(() => rendered.getByText('data: data'))
63+
await act(() => vi.advanceTimersByTime(0))
64+
rendered.getByText('data: data')
7565

7666
rendered.rerender(
7767
<QueryClientProvider client={queryClient}>
@@ -81,9 +71,7 @@ describe('Suspense Timer Tests', () => {
8171
</QueryClientProvider>,
8272
)
8373

84-
act(() => {
85-
vi.advanceTimersByTime(100)
86-
})
74+
await act(() => vi.advanceTimersByTime(100))
8775

8876
expect(fetchCount.count).toBe(1)
8977
})
@@ -97,7 +85,8 @@ describe('Suspense Timer Tests', () => {
9785

9886
const rendered = renderWithSuspense(queryClient, <TestComponent />)
9987

100-
await waitFor(() => rendered.getByText('data: data'))
88+
await act(() => vi.advanceTimersByTime(0))
89+
rendered.getByText('data: data')
10190

10291
rendered.rerender(
10392
<QueryClientProvider client={queryClient}>
@@ -107,9 +96,7 @@ describe('Suspense Timer Tests', () => {
10796
</QueryClientProvider>,
10897
)
10998

110-
act(() => {
111-
vi.advanceTimersByTime(100)
112-
})
99+
await act(() => vi.advanceTimersByTime(100))
113100

114101
expect(fetchCount.count).toBe(1)
115102
})
@@ -123,7 +110,8 @@ describe('Suspense Timer Tests', () => {
123110

124111
const rendered = renderWithSuspense(queryClient, <TestComponent />)
125112

126-
await waitFor(() => rendered.getByText('data: data'))
113+
await act(() => vi.advanceTimersByTime(0))
114+
rendered.getByText('data: data')
127115

128116
rendered.rerender(
129117
<QueryClientProvider client={queryClient}>
@@ -133,9 +121,7 @@ describe('Suspense Timer Tests', () => {
133121
</QueryClientProvider>,
134122
)
135123

136-
act(() => {
137-
vi.advanceTimersByTime(1500)
138-
})
124+
await act(() => vi.advanceTimersByTime(1500))
139125

140126
expect(fetchCount.count).toBe(1)
141127
})
@@ -149,7 +135,8 @@ describe('Suspense Timer Tests', () => {
149135

150136
const rendered = renderWithSuspense(queryClient, <TestComponent />)
151137

152-
await waitFor(() => rendered.getByText('data: data'))
138+
await act(() => vi.advanceTimersByTime(0))
139+
rendered.getByText('data: data')
153140

154141
rendered.rerender(
155142
<QueryClientProvider client={queryClient}>
@@ -159,9 +146,7 @@ describe('Suspense Timer Tests', () => {
159146
</QueryClientProvider>,
160147
)
161148

162-
act(() => {
163-
vi.advanceTimersByTime(500)
164-
})
149+
await act(() => vi.advanceTimersByTime(500))
165150

166151
expect(fetchCount.count).toBe(1)
167152
})
@@ -175,7 +160,8 @@ describe('Suspense Timer Tests', () => {
175160

176161
const rendered = renderWithSuspense(queryClient, <TestComponent />)
177162

178-
await waitFor(() => rendered.getByText('data: data'))
163+
await act(() => vi.advanceTimersByTime(0))
164+
rendered.getByText('data: data')
179165

180166
rendered.rerender(
181167
<QueryClientProvider client={queryClient}>
@@ -185,9 +171,7 @@ describe('Suspense Timer Tests', () => {
185171
</QueryClientProvider>,
186172
)
187173

188-
act(() => {
189-
vi.advanceTimersByTime(2000)
190-
})
174+
await act(() => vi.advanceTimersByTime(2000))
191175

192176
expect(fetchCount.count).toBe(1)
193177
})

0 commit comments

Comments
 (0)