From 73e67fcf08b9923ddd3d86b24d637d54a46f4075 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 28 Dec 2025 16:14:25 +0900 Subject: [PATCH] test(react-query/ssr): add 'useQueries' test for SSR --- .../react-query/src/__tests__/ssr.test.tsx | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/packages/react-query/src/__tests__/ssr.test.tsx b/packages/react-query/src/__tests__/ssr.test.tsx index 0738b8d290..efbf277a9d 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, + useQueries, useQuery, } from '..' import { setIsServer } from './utils' @@ -173,4 +174,46 @@ describe('Server Side Rendering', () => { queryCache.clear() }) + + it('useQueries should return existing data from the cache', async () => { + const key1 = queryKey() + const key2 = queryKey() + const queryFn1 = () => sleep(10).then(() => 'data1') + const queryFn2 = () => sleep(10).then(() => 'data2') + + function Page() { + const queries = useQueries({ + queries: [ + { queryKey: key1, queryFn: queryFn1 }, + { queryKey: key2, queryFn: queryFn2 }, + ], + }) + + return ( +
+
{`status1: ${queries[0].status}`}
+
{`status2: ${queries[1].status}`}
+
{`data1: ${queries[0].data}`}
+
{`data2: ${queries[1].data}`}
+
+ ) + } + + queryClient.prefetchQuery({ queryKey: key1, queryFn: queryFn1 }) + queryClient.prefetchQuery({ queryKey: key2, queryFn: queryFn2 }) + await vi.advanceTimersByTimeAsync(10) + + const markup = renderToString( + + + , + ) + + expect(markup).toContain('status1: success') + expect(markup).toContain('status2: success') + expect(markup).toContain('data1: data1') + expect(markup).toContain('data2: data2') + + queryCache.clear() + }) })