diff --git a/packages/react-query/src/__tests__/HydrationBoundary.test.tsx b/packages/react-query/src/__tests__/HydrationBoundary.test.tsx index 8611c4c40d..67b409c6ad 100644 --- a/packages/react-query/src/__tests__/HydrationBoundary.test.tsx +++ b/packages/react-query/src/__tests__/HydrationBoundary.test.tsx @@ -480,4 +480,64 @@ 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( + + + + + , + ) + + expect(rendered.getByText('["stringCached"]')).toBeInTheDocument() + + await vi.advanceTimersByTimeAsync(11) + 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( + + + + + , + ) + + expect(rendered.getByText('["stringCached"]')).toBeInTheDocument() + + await vi.advanceTimersByTimeAsync(11) + expect(queryFn).toHaveBeenCalledTimes(0) + expect(rendered.getByText('["stringCached"]')).toBeInTheDocument() + + queryClient.clear() + }) })