From 266a4a37946befa727de323a67dfe9f0681fcca3 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Mon, 15 Dec 2025 03:15:27 +0900 Subject: [PATCH 1/3] test(react-query/HydrationBoundary): add tests for 'enabled: false' and 'staleTime: Infinity' --- .../src/__tests__/HydrationBoundary.test.tsx | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/packages/react-query/src/__tests__/HydrationBoundary.test.tsx b/packages/react-query/src/__tests__/HydrationBoundary.test.tsx index 8611c4c40d..49579444d9 100644 --- a/packages/react-query/src/__tests__/HydrationBoundary.test.tsx +++ b/packages/react-query/src/__tests__/HydrationBoundary.test.tsx @@ -480,4 +480,62 @@ describe('React hydration', () => { prefetchQueryClient.clear() clientQueryClient.clear() }) + + test('should not refetch when query has enabled set to false', async () => { + const queryFn = vi.fn() + const queryClient = new QueryClient() + + function Page() { + const { data } = useQuery({ + queryKey: ['string'], + queryFn, + enabled: false, + }) + return
{JSON.stringify(data)}
+ } + + const rendered = render( + + + + + , + ) + + await vi.advanceTimersByTimeAsync(0) + + expect(queryFn).toHaveBeenCalledTimes(0) + expect(rendered.getByText('["stringCached"]')).toBeInTheDocument() + + queryClient.clear() + }) + + test('should not refetch when query has staleTime set to Infinity', async () => { + const queryFn = vi.fn() + const queryClient = new QueryClient() + + function Page() { + const { data } = useQuery({ + queryKey: ['string'], + queryFn, + staleTime: Infinity, + }) + return
{JSON.stringify(data)}
+ } + + const rendered = render( + + + + + , + ) + + await vi.advanceTimersByTimeAsync(0) + + expect(queryFn).toHaveBeenCalledTimes(0) + expect(rendered.getByText('["stringCached"]')).toBeInTheDocument() + + queryClient.clear() + }) }) From 0ecfd0e598df58d942eee87fb4f3d7f565cbc023 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Mon, 15 Dec 2025 03:25:55 +0900 Subject: [PATCH 2/3] chore: trigger CI From 9a2d30a2da873a6d1999d6a0f2b32ed4680fce5c Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Mon, 15 Dec 2025 04:09:19 +0900 Subject: [PATCH 3/3] test(react-query/HydrationBoundary): add delayed assertions for 'enabled: false' and 'staleTime: Infinity' tests --- .../react-query/src/__tests__/HydrationBoundary.test.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/react-query/src/__tests__/HydrationBoundary.test.tsx b/packages/react-query/src/__tests__/HydrationBoundary.test.tsx index 49579444d9..67b409c6ad 100644 --- a/packages/react-query/src/__tests__/HydrationBoundary.test.tsx +++ b/packages/react-query/src/__tests__/HydrationBoundary.test.tsx @@ -502,8 +502,9 @@ describe('React hydration', () => { , ) - await vi.advanceTimersByTimeAsync(0) + expect(rendered.getByText('["stringCached"]')).toBeInTheDocument() + await vi.advanceTimersByTimeAsync(11) expect(queryFn).toHaveBeenCalledTimes(0) expect(rendered.getByText('["stringCached"]')).toBeInTheDocument() @@ -531,8 +532,9 @@ describe('React hydration', () => { , ) - await vi.advanceTimersByTimeAsync(0) + expect(rendered.getByText('["stringCached"]')).toBeInTheDocument() + await vi.advanceTimersByTimeAsync(11) expect(queryFn).toHaveBeenCalledTimes(0) expect(rendered.getByText('["stringCached"]')).toBeInTheDocument()