From 29aa8fbda6a9000a1059aed248eacd48e5bf0cdd Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 28 Dec 2025 15:27:30 +0900 Subject: [PATCH] test(react-query/ssr): add 'useIsFetching' test for SSR --- .../react-query/src/__tests__/ssr.test.tsx | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) 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() + }) })