Skip to content

Commit 7c96692

Browse files
committed
test(react-query/suspense): add 'sleep' in 'queryFn', and add 'expect' for 'loading' text
1 parent ac5d858 commit 7c96692

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

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

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
22
import { act, render } from '@testing-library/react'
33
import { Suspense } from 'react'
4-
import { queryKey } from '@tanstack/query-test-utils'
4+
import { queryKey, sleep } from '@tanstack/query-test-utils'
55
import { QueryClient, QueryClientProvider, useSuspenseQuery } from '..'
66
import type { QueryKey } from '..'
77

@@ -21,10 +21,11 @@ function createTestQuery(options: {
2121
return function TestComponent() {
2222
const { data } = useSuspenseQuery({
2323
queryKey: options.queryKey,
24-
queryFn: () => {
25-
options.fetchCount.count++
26-
return Promise.resolve('data')
27-
},
24+
queryFn: () =>
25+
sleep(10).then(() => {
26+
options.fetchCount.count++
27+
return 'data'
28+
}),
2829
staleTime: options.staleTime,
2930
})
3031
return <div>data: {data}</div>
@@ -60,7 +61,8 @@ describe('Suspense Timer Tests', () => {
6061

6162
const rendered = renderWithSuspense(queryClient, <TestComponent />)
6263

63-
await act(() => vi.advanceTimersByTimeAsync(0))
64+
expect(rendered.getByText('loading')).toBeInTheDocument()
65+
await act(() => vi.advanceTimersByTimeAsync(10))
6466
expect(rendered.getByText('data: data')).toBeInTheDocument()
6567

6668
rendered.rerender(
@@ -85,7 +87,8 @@ describe('Suspense Timer Tests', () => {
8587

8688
const rendered = renderWithSuspense(queryClient, <TestComponent />)
8789

88-
await act(() => vi.advanceTimersByTimeAsync(0))
90+
expect(rendered.getByText('loading')).toBeInTheDocument()
91+
await act(() => vi.advanceTimersByTimeAsync(10))
8992
expect(rendered.getByText('data: data')).toBeInTheDocument()
9093

9194
rendered.rerender(
@@ -110,7 +113,8 @@ describe('Suspense Timer Tests', () => {
110113

111114
const rendered = renderWithSuspense(queryClient, <TestComponent />)
112115

113-
await act(() => vi.advanceTimersByTimeAsync(0))
116+
expect(rendered.getByText('loading')).toBeInTheDocument()
117+
await act(() => vi.advanceTimersByTimeAsync(10))
114118
expect(rendered.getByText('data: data')).toBeInTheDocument()
115119

116120
rendered.rerender(
@@ -135,7 +139,8 @@ describe('Suspense Timer Tests', () => {
135139

136140
const rendered = renderWithSuspense(queryClient, <TestComponent />)
137141

138-
await act(() => vi.advanceTimersByTimeAsync(0))
142+
expect(rendered.getByText('loading')).toBeInTheDocument()
143+
await act(() => vi.advanceTimersByTimeAsync(10))
139144
expect(rendered.getByText('data: data')).toBeInTheDocument()
140145

141146
rendered.rerender(
@@ -160,7 +165,8 @@ describe('Suspense Timer Tests', () => {
160165

161166
const rendered = renderWithSuspense(queryClient, <TestComponent />)
162167

163-
await act(() => vi.advanceTimersByTimeAsync(0))
168+
expect(rendered.getByText('loading')).toBeInTheDocument()
169+
await act(() => vi.advanceTimersByTimeAsync(10))
164170
expect(rendered.getByText('data: data')).toBeInTheDocument()
165171

166172
rendered.rerender(

0 commit comments

Comments
 (0)