From 1eaac1d25218bc2ab28a27a0d6d60d777466cfd8 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 7 Jun 2026 15:48:26 +0900 Subject: [PATCH] test(query-core/queryObserver): add test for 'refetchInterval' as a function refetching at the returned interval --- .../src/__tests__/queryObserver.test.tsx | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/query-core/src/__tests__/queryObserver.test.tsx b/packages/query-core/src/__tests__/queryObserver.test.tsx index db456896631..f81aeb56f7a 100644 --- a/packages/query-core/src/__tests__/queryObserver.test.tsx +++ b/packages/query-core/src/__tests__/queryObserver.test.tsx @@ -747,6 +747,24 @@ describe('queryObserver', () => { expect(count).toBe(2) }) + it('should refetch at the interval returned when refetchInterval is a function', async () => { + const key = queryKey() + let count = 0 + const observer = new QueryObserver(queryClient, { + queryKey: key, + queryFn: () => { + count++ + return Promise.resolve('data') + }, + refetchInterval: () => 10, + }) + const unsubscribe = observer.subscribe(() => undefined) + expect(count).toBe(1) + await vi.advanceTimersByTimeAsync(10) + expect(count).toBe(2) + unsubscribe() + }) + it('should use placeholderData as non-cache data when pending a query with no data', async () => { const key = queryKey() const observer = new QueryObserver(queryClient, {