From d585e3ebda9a09bd7f3d1943e029e50028e3df7d Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Thu, 5 Mar 2026 15:11:48 +0900 Subject: [PATCH] test(vue-query/useQueries): add test for 'refetch' of individual query without affecting others --- .../src/__tests__/useQueries.test.ts | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/packages/vue-query/src/__tests__/useQueries.test.ts b/packages/vue-query/src/__tests__/useQueries.test.ts index 3dca555395a..922649ae131 100644 --- a/packages/vue-query/src/__tests__/useQueries.test.ts +++ b/packages/vue-query/src/__tests__/useQueries.test.ts @@ -369,6 +369,35 @@ describe('useQueries', () => { expect(fetchFn).toHaveBeenCalledTimes(6) }) + test('should refetch only the specific query without affecting others', async () => { + let userCount = 0 + let postCount = 0 + + const queriesState = useQueries({ + queries: [ + { + queryKey: ['users'], + queryFn: () => sleep(10).then(() => `users-${++userCount}`), + }, + { + queryKey: ['posts'], + queryFn: () => sleep(20).then(() => `posts-${++postCount}`), + }, + ], + }) + + await vi.advanceTimersByTimeAsync(20) + + expect(queriesState.value[0].data).toBe('users-1') + expect(queriesState.value[1].data).toBe('posts-1') + + queriesState.value[0].refetch() + await vi.advanceTimersByTimeAsync(10) + + expect(queriesState.value[0].data).toBe('users-2') + expect(queriesState.value[1].data).toBe('posts-1') + }) + test('should work with options getter and be reactive', async () => { const fetchFn = vi.fn(() => 'foo') const key1 = ref('key1')