diff --git a/packages/react-query/src/__tests__/ssr.test.tsx b/packages/react-query/src/__tests__/ssr.test.tsx index 0738b8d290..0affe883fe 100644 --- a/packages/react-query/src/__tests__/ssr.test.tsx +++ b/packages/react-query/src/__tests__/ssr.test.tsx @@ -7,6 +7,7 @@ import { QueryClient, QueryClientProvider, useInfiniteQuery, + useIsFetching, useQuery, } from '..' import { setIsServer } from './utils' @@ -173,4 +174,35 @@ describe('Server Side Rendering', () => { queryCache.clear() }) + + it('useIsFetching should return 0 after prefetch completes', async () => { + const key = queryKey() + const queryFn = () => sleep(10).then(() => 'data') + + function Page() { + const { data } = useQuery({ queryKey: key, queryFn }) + const isFetching = useIsFetching() + + return ( +
+
{data}
+
{`isFetching: ${isFetching}`}
+
+ ) + } + + queryClient.prefetchQuery({ queryKey: key, queryFn }) + await vi.advanceTimersByTimeAsync(10) + + const markup = renderToString( + + + , + ) + + expect(markup).toContain('data') + expect(markup).toContain('isFetching: 0') + + queryCache.clear() + }) })