Skip to content

Commit 642f72d

Browse files
authored
test(react-query/ssr): add 'useIsFetching' test for SSR (#9994)
1 parent 31e3db5 commit 642f72d

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

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

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
QueryClient,
88
QueryClientProvider,
99
useInfiniteQuery,
10+
useIsFetching,
1011
useQuery,
1112
} from '..'
1213
import { setIsServer } from './utils'
@@ -173,4 +174,35 @@ describe('Server Side Rendering', () => {
173174

174175
queryCache.clear()
175176
})
177+
178+
it('useIsFetching should return 0 after prefetch completes', async () => {
179+
const key = queryKey()
180+
const queryFn = () => sleep(10).then(() => 'data')
181+
182+
function Page() {
183+
const { data } = useQuery({ queryKey: key, queryFn })
184+
const isFetching = useIsFetching()
185+
186+
return (
187+
<div>
188+
<div>{data}</div>
189+
<div>{`isFetching: ${isFetching}`}</div>
190+
</div>
191+
)
192+
}
193+
194+
queryClient.prefetchQuery({ queryKey: key, queryFn })
195+
await vi.advanceTimersByTimeAsync(10)
196+
197+
const markup = renderToString(
198+
<QueryClientProvider client={queryClient}>
199+
<Page />
200+
</QueryClientProvider>,
201+
)
202+
203+
expect(markup).toContain('data')
204+
expect(markup).toContain('isFetching: 0')
205+
206+
queryCache.clear()
207+
})
176208
})

0 commit comments

Comments
 (0)