Skip to content

Commit 63bc828

Browse files
sukvvonmanudeli
andauthored
test(react-query/usePrefetchQuery): use precise time in 'advanceTimersByTimeAsync', and add 'expect' using 'toBeInTheDocument' (#9448)
Co-authored-by: Jonghyeon Ko <[email protected]>
1 parent e2ce12c commit 63bc828

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

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

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ describe('usePrefetchQuery', () => {
7272

7373
const rendered = renderWithClient(queryClient, <App />)
7474

75-
await act(() => vi.advanceTimersByTimeAsync(11))
76-
rendered.getByText('data: prefetchQuery')
75+
await act(() => vi.advanceTimersByTimeAsync(10))
76+
expect(rendered.getByText('data: prefetchQuery')).toBeInTheDocument()
7777
expect(queryOpts.queryFn).toHaveBeenCalledTimes(1)
7878
})
7979

@@ -99,7 +99,9 @@ describe('usePrefetchQuery', () => {
9999
const rendered = renderWithClient(queryClient, <App />)
100100

101101
expect(rendered.queryByText('fetching: true')).not.toBeInTheDocument()
102-
rendered.getByText('data: The usePrefetchQuery hook is smart!')
102+
expect(
103+
rendered.getByText('data: The usePrefetchQuery hook is smart!'),
104+
).toBeInTheDocument()
103105
expect(queryOpts.queryFn).not.toHaveBeenCalled()
104106
})
105107

@@ -136,7 +138,7 @@ describe('usePrefetchQuery', () => {
136138
queryFn.mockClear()
137139
const rendered = renderWithClient(queryClient, <App />)
138140

139-
rendered.getByText('Oops!')
141+
expect(rendered.getByText('Oops!')).toBeInTheDocument()
140142
expect(rendered.queryByText('data: Not an error')).not.toBeInTheDocument()
141143
expect(queryOpts.queryFn).not.toHaveBeenCalled()
142144

@@ -167,8 +169,8 @@ describe('usePrefetchQuery', () => {
167169
}
168170

169171
const rendered = renderWithClient(queryClient, <App />)
170-
await act(() => vi.advanceTimersByTimeAsync(11))
171-
rendered.getByText('data: prefetchedQuery')
172+
await act(() => vi.advanceTimersByTimeAsync(10))
173+
expect(rendered.getByText('data: prefetchedQuery')).toBeInTheDocument()
172174
expect(queryOpts.queryFn).toHaveBeenCalledTimes(1)
173175
})
174176

@@ -215,10 +217,12 @@ describe('usePrefetchQuery', () => {
215217

216218
const rendered = renderWithClient(queryClient, <App />)
217219

218-
rendered.getByText('Oops!')
220+
expect(rendered.getByText('Oops!')).toBeInTheDocument()
219221
fireEvent.click(rendered.getByText('Try again'))
220-
await act(() => vi.advanceTimersByTimeAsync(11))
221-
rendered.getByText('data: This is fine :dog: :fire:')
222+
await act(() => vi.advanceTimersByTimeAsync(10))
223+
expect(
224+
rendered.getByText('data: This is fine :dog: :fire:'),
225+
).toBeInTheDocument()
222226
expect(queryOpts.queryFn).toHaveBeenCalledTimes(1)
223227
consoleMock.mockRestore()
224228
})
@@ -267,11 +271,15 @@ describe('usePrefetchQuery', () => {
267271
expect(
268272
queryClient.getQueryState(thirdQueryOpts.queryKey)?.fetchStatus,
269273
).toBe('fetching')
270-
rendered.getByText('Loading...')
271-
await act(() => vi.advanceTimersByTimeAsync(11))
272-
rendered.getByText('data: Prefetch is nice!')
273-
rendered.getByText('data: Prefetch is really nice!!')
274-
rendered.getByText('data: Prefetch does not create waterfalls!!')
274+
expect(rendered.getByText('Loading...')).toBeInTheDocument()
275+
await act(() => vi.advanceTimersByTimeAsync(10))
276+
expect(rendered.getByText('data: Prefetch is nice!')).toBeInTheDocument()
277+
expect(
278+
rendered.getByText('data: Prefetch is really nice!!'),
279+
).toBeInTheDocument()
280+
expect(
281+
rendered.getByText('data: Prefetch does not create waterfalls!!'),
282+
).toBeInTheDocument()
275283
expect(Fallback).toHaveBeenCalledTimes(1)
276284
expect(firstQueryOpts.queryFn).toHaveBeenCalledTimes(1)
277285
expect(secondQueryOpts.queryFn).toHaveBeenCalledTimes(1)

0 commit comments

Comments
 (0)