From ae1440490a81236ca60e316eb0a196c5c12e0eb9 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 22 Feb 2026 22:24:56 +0900 Subject: [PATCH 1/5] test(solid-query/useQuery): add test for refetching query when 'queryClient' changes --- .../src/__tests__/useQuery.test.tsx | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/packages/solid-query/src/__tests__/useQuery.test.tsx b/packages/solid-query/src/__tests__/useQuery.test.tsx index 745621d1715..ae6d31b3a31 100644 --- a/packages/solid-query/src/__tests__/useQuery.test.tsx +++ b/packages/solid-query/src/__tests__/useQuery.test.tsx @@ -6180,4 +6180,48 @@ describe('useQuery', () => { await vi.advanceTimersByTimeAsync(10) expect(rendered.getByText('Status: custom client')).toBeInTheDocument() }) + + it('should refetch query when queryClient changes', async () => { + const key = queryKey() + + const queryClient1 = new QueryClient() + const queryClient2 = new QueryClient() + + const queryFn = vi.fn().mockImplementation(() => + sleep(10).then(() => 'data'), + ) + + function Page(props: { client: QueryClient }) { + const query = useQuery( + () => ({ + queryKey: key, + queryFn, + }), + () => props.client, + ) + + return
status: {query.status}
+ } + + const [client, setClient] = createSignal(queryClient1) + + const rendered = render(() => ( + + + + )) + + await vi.advanceTimersByTimeAsync(10) + + expect(rendered.getByText('status: success')).toBeInTheDocument() + expect(queryClient1.getQueryCache().find({ queryKey: key })).toBeDefined() + expect(queryFn).toHaveBeenCalledTimes(1) + + setClient(queryClient2) + await vi.advanceTimersByTimeAsync(10) + + expect(rendered.getByText('status: success')).toBeInTheDocument() + expect(queryClient2.getQueryCache().find({ queryKey: key })).toBeDefined() + expect(queryFn).toHaveBeenCalledTimes(2) + }) }) From 85e984f24f8abe83ad75fb40fa6faa36d8ca0f0f Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sun, 22 Feb 2026 13:27:09 +0000 Subject: [PATCH 2/5] ci: apply automated fixes --- packages/solid-query/src/__tests__/useQuery.test.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/solid-query/src/__tests__/useQuery.test.tsx b/packages/solid-query/src/__tests__/useQuery.test.tsx index ae6d31b3a31..1f4971084ab 100644 --- a/packages/solid-query/src/__tests__/useQuery.test.tsx +++ b/packages/solid-query/src/__tests__/useQuery.test.tsx @@ -6187,9 +6187,9 @@ describe('useQuery', () => { const queryClient1 = new QueryClient() const queryClient2 = new QueryClient() - const queryFn = vi.fn().mockImplementation(() => - sleep(10).then(() => 'data'), - ) + const queryFn = vi + .fn() + .mockImplementation(() => sleep(10).then(() => 'data')) function Page(props: { client: QueryClient }) { const query = useQuery( From c70373fc49c2edfcb5828c2ea7378549a218b884 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 22 Feb 2026 22:39:59 +0900 Subject: [PATCH 3/5] test(solid-query/useQuery): isolate explicit client accessor from provider context --- packages/solid-query/src/__tests__/useQuery.test.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/solid-query/src/__tests__/useQuery.test.tsx b/packages/solid-query/src/__tests__/useQuery.test.tsx index 1f4971084ab..6503571051b 100644 --- a/packages/solid-query/src/__tests__/useQuery.test.tsx +++ b/packages/solid-query/src/__tests__/useQuery.test.tsx @@ -40,7 +40,7 @@ import type { UseQueryResult, } from '..' import type { Mock } from 'vitest' -import type { JSX } from 'solid-js' +import type { Accessor, JSX } from 'solid-js' describe('useQuery', () => { const queryCache = new QueryCache() @@ -6191,13 +6191,13 @@ describe('useQuery', () => { .fn() .mockImplementation(() => sleep(10).then(() => 'data')) - function Page(props: { client: QueryClient }) { + function Page(props: { client: Accessor }) { const query = useQuery( () => ({ queryKey: key, queryFn, }), - () => props.client, + props.client, ) return
status: {query.status}
@@ -6206,8 +6206,8 @@ describe('useQuery', () => { const [client, setClient] = createSignal(queryClient1) const rendered = render(() => ( - - + + )) From d4d325a1c2839235d4696731776dedac6efcb6f9 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 22 Feb 2026 22:43:53 +0900 Subject: [PATCH 4/5] test(solid-query/useQuery): remove unnecessary 'QueryClientProvider' wrapper from explicit client test --- packages/solid-query/src/__tests__/useQuery.test.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/solid-query/src/__tests__/useQuery.test.tsx b/packages/solid-query/src/__tests__/useQuery.test.tsx index 6503571051b..d82d6772843 100644 --- a/packages/solid-query/src/__tests__/useQuery.test.tsx +++ b/packages/solid-query/src/__tests__/useQuery.test.tsx @@ -6205,11 +6205,7 @@ describe('useQuery', () => { const [client, setClient] = createSignal(queryClient1) - const rendered = render(() => ( - - - - )) + const rendered = render(() => ) await vi.advanceTimersByTimeAsync(10) From ac5447cf529655a4d5a0ef00e2731b723cc6ae20 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 22 Feb 2026 22:52:15 +0900 Subject: [PATCH 5/5] test(solid-query/useQuery): replace 'Accessor' with '() => QueryClient' type annotation --- packages/solid-query/src/__tests__/useQuery.test.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/solid-query/src/__tests__/useQuery.test.tsx b/packages/solid-query/src/__tests__/useQuery.test.tsx index d82d6772843..8430fd17a97 100644 --- a/packages/solid-query/src/__tests__/useQuery.test.tsx +++ b/packages/solid-query/src/__tests__/useQuery.test.tsx @@ -40,7 +40,7 @@ import type { UseQueryResult, } from '..' import type { Mock } from 'vitest' -import type { Accessor, JSX } from 'solid-js' +import type { JSX } from 'solid-js' describe('useQuery', () => { const queryCache = new QueryCache() @@ -6191,7 +6191,7 @@ describe('useQuery', () => { .fn() .mockImplementation(() => sleep(10).then(() => 'data')) - function Page(props: { client: Accessor }) { + function Page(props: { client: () => QueryClient }) { const query = useQuery( () => ({ queryKey: key,