From fdcf33131dc6f9873e066d12d994fe898d23416a Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sat, 18 Jul 2026 21:50:08 +0900 Subject: [PATCH 1/2] test({react,preact}-query/usePrefetchQuery): inline the 'generateQueryFn' factory into each call site --- .../src/__tests__/usePrefetchQuery.test.tsx | 29 ++++++++++--------- .../src/__tests__/usePrefetchQuery.test.tsx | 29 ++++++++++--------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/packages/preact-query/src/__tests__/usePrefetchQuery.test.tsx b/packages/preact-query/src/__tests__/usePrefetchQuery.test.tsx index d05b24a7bc..725a5cfc2c 100644 --- a/packages/preact-query/src/__tests__/usePrefetchQuery.test.tsx +++ b/packages/preact-query/src/__tests__/usePrefetchQuery.test.tsx @@ -14,11 +14,6 @@ import { import { ErrorBoundary } from './ErrorBoundary' import { renderWithClient } from './utils' -const generateQueryFn = (data: string) => - vi - .fn<(...args: Array) => Promise>() - .mockImplementation(() => sleep(10).then(() => data)) - describe('usePrefetchQuery', () => { let queryCache: QueryCache let queryClient: QueryClient @@ -37,12 +32,12 @@ describe('usePrefetchQuery', () => { it('should prefetch query if query state does not exist', async () => { const queryOpts = { queryKey: queryKey(), - queryFn: generateQueryFn('prefetchQuery'), + queryFn: vi.fn(() => sleep(10).then(() => 'prefetchQuery')), } const componentQueryOpts = { ...queryOpts, - queryFn: generateQueryFn('useSuspenseQuery'), + queryFn: vi.fn(() => sleep(10).then(() => 'useSuspenseQuery')), } function Page() { @@ -72,7 +67,9 @@ describe('usePrefetchQuery', () => { it('should not prefetch query if query state exists', async () => { const queryOpts = { queryKey: queryKey(), - queryFn: generateQueryFn('The usePrefetchQuery hook is smart!'), + queryFn: vi.fn(() => + sleep(10).then(() => 'The usePrefetchQuery hook is smart!'), + ), } function Page() { @@ -105,7 +102,7 @@ describe('usePrefetchQuery', () => { it('should let errors fall through and not refetch failed queries', async () => { const consoleMock = vi.spyOn(console, 'error') consoleMock.mockImplementation(() => undefined) - const queryFn = generateQueryFn('Not an error') + const queryFn = vi.fn(() => sleep(10).then(() => 'Not an error')) const queryOpts = { queryKey: queryKey(), @@ -148,7 +145,7 @@ describe('usePrefetchQuery', () => { }) it('should not create an endless loop when using inside a suspense boundary', async () => { - const queryFn = generateQueryFn('prefetchedQuery') + const queryFn = vi.fn(() => sleep(10).then(() => 'prefetchedQuery')) const queryOpts = { queryKey: queryKey(), @@ -184,7 +181,9 @@ describe('usePrefetchQuery', () => { it('should be able to recover from errors and try fetching again', async () => { const consoleMock = vi.spyOn(console, 'error') consoleMock.mockImplementation(() => undefined) - const queryFn = generateQueryFn('This is fine :dog: :fire:') + const queryFn = vi.fn(() => + sleep(10).then(() => 'This is fine :dog: :fire:'), + ) const queryOpts = { queryKey: queryKey(), @@ -242,17 +241,19 @@ describe('usePrefetchQuery', () => { it('should not create a suspense waterfall if prefetch is fired', async () => { const firstQueryOpts = { queryKey: queryKey(), - queryFn: generateQueryFn('Prefetch is nice!'), + queryFn: vi.fn(() => sleep(10).then(() => 'Prefetch is nice!')), } const secondQueryOpts = { queryKey: queryKey(), - queryFn: generateQueryFn('Prefetch is really nice!!'), + queryFn: vi.fn(() => sleep(10).then(() => 'Prefetch is really nice!!')), } const thirdQueryOpts = { queryKey: queryKey(), - queryFn: generateQueryFn('Prefetch does not create waterfalls!!'), + queryFn: vi.fn(() => + sleep(10).then(() => 'Prefetch does not create waterfalls!!'), + ), } const Fallback = vi.fn().mockImplementation(() =>
Loading...
) diff --git a/packages/react-query/src/__tests__/usePrefetchQuery.test.tsx b/packages/react-query/src/__tests__/usePrefetchQuery.test.tsx index bef84167b4..42bdb44e68 100644 --- a/packages/react-query/src/__tests__/usePrefetchQuery.test.tsx +++ b/packages/react-query/src/__tests__/usePrefetchQuery.test.tsx @@ -12,11 +12,6 @@ import { } from '..' import { renderWithClient } from './utils' -const generateQueryFn = (data: string) => - vi - .fn<(...args: Array) => Promise>() - .mockImplementation(() => sleep(10).then(() => data)) - describe('usePrefetchQuery', () => { let queryCache: QueryCache let queryClient: QueryClient @@ -35,12 +30,12 @@ describe('usePrefetchQuery', () => { it('should prefetch query if query state does not exist', async () => { const queryOpts = { queryKey: queryKey(), - queryFn: generateQueryFn('prefetchQuery'), + queryFn: vi.fn(() => sleep(10).then(() => 'prefetchQuery')), } const componentQueryOpts = { ...queryOpts, - queryFn: generateQueryFn('useSuspenseQuery'), + queryFn: vi.fn(() => sleep(10).then(() => 'useSuspenseQuery')), } function Page() { @@ -70,7 +65,9 @@ describe('usePrefetchQuery', () => { it('should not prefetch query if query state exists', async () => { const queryOpts = { queryKey: queryKey(), - queryFn: generateQueryFn('The usePrefetchQuery hook is smart!'), + queryFn: vi.fn(() => + sleep(10).then(() => 'The usePrefetchQuery hook is smart!'), + ), } function Page() { @@ -103,7 +100,7 @@ describe('usePrefetchQuery', () => { it('should let errors fall through and not refetch failed queries', async () => { const consoleMock = vi.spyOn(console, 'error') consoleMock.mockImplementation(() => undefined) - const queryFn = generateQueryFn('Not an error') + const queryFn = vi.fn(() => sleep(10).then(() => 'Not an error')) const queryOpts = { queryKey: queryKey(), @@ -146,7 +143,7 @@ describe('usePrefetchQuery', () => { }) it('should not create an endless loop when using inside a suspense boundary', async () => { - const queryFn = generateQueryFn('prefetchedQuery') + const queryFn = vi.fn(() => sleep(10).then(() => 'prefetchedQuery')) const queryOpts = { queryKey: queryKey(), @@ -182,7 +179,9 @@ describe('usePrefetchQuery', () => { it('should be able to recover from errors and try fetching again', async () => { const consoleMock = vi.spyOn(console, 'error') consoleMock.mockImplementation(() => undefined) - const queryFn = generateQueryFn('This is fine :dog: :fire:') + const queryFn = vi.fn(() => + sleep(10).then(() => 'This is fine :dog: :fire:'), + ) const queryOpts = { queryKey: queryKey(), @@ -240,17 +239,19 @@ describe('usePrefetchQuery', () => { it('should not create a suspense waterfall if prefetch is fired', async () => { const firstQueryOpts = { queryKey: queryKey(), - queryFn: generateQueryFn('Prefetch is nice!'), + queryFn: vi.fn(() => sleep(10).then(() => 'Prefetch is nice!')), } const secondQueryOpts = { queryKey: queryKey(), - queryFn: generateQueryFn('Prefetch is really nice!!'), + queryFn: vi.fn(() => sleep(10).then(() => 'Prefetch is really nice!!')), } const thirdQueryOpts = { queryKey: queryKey(), - queryFn: generateQueryFn('Prefetch does not create waterfalls!!'), + queryFn: vi.fn(() => + sleep(10).then(() => 'Prefetch does not create waterfalls!!'), + ), } const Fallback = vi.fn().mockImplementation(() =>
Loading...
) From fdd34ca092094a625a4e35828a2894376e61d96a Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 19 Jul 2026 02:20:20 +0900 Subject: [PATCH 2/2] test({react,preact}-query/usePrefetchQuery): drop the unnecessary 'vi.fn()' wrapper on the never-asserted sentinel queryFn --- packages/preact-query/src/__tests__/usePrefetchQuery.test.tsx | 2 +- packages/react-query/src/__tests__/usePrefetchQuery.test.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/preact-query/src/__tests__/usePrefetchQuery.test.tsx b/packages/preact-query/src/__tests__/usePrefetchQuery.test.tsx index 725a5cfc2c..9dd5f3949d 100644 --- a/packages/preact-query/src/__tests__/usePrefetchQuery.test.tsx +++ b/packages/preact-query/src/__tests__/usePrefetchQuery.test.tsx @@ -37,7 +37,7 @@ describe('usePrefetchQuery', () => { const componentQueryOpts = { ...queryOpts, - queryFn: vi.fn(() => sleep(10).then(() => 'useSuspenseQuery')), + queryFn: () => sleep(10).then(() => 'useSuspenseQuery'), } function Page() { diff --git a/packages/react-query/src/__tests__/usePrefetchQuery.test.tsx b/packages/react-query/src/__tests__/usePrefetchQuery.test.tsx index 42bdb44e68..78dc11ad11 100644 --- a/packages/react-query/src/__tests__/usePrefetchQuery.test.tsx +++ b/packages/react-query/src/__tests__/usePrefetchQuery.test.tsx @@ -35,7 +35,7 @@ describe('usePrefetchQuery', () => { const componentQueryOpts = { ...queryOpts, - queryFn: vi.fn(() => sleep(10).then(() => 'useSuspenseQuery')), + queryFn: () => sleep(10).then(() => 'useSuspenseQuery'), } function Page() {