From ebd4c2b4edcd605772139468d94334b8a3f1aa92 Mon Sep 17 00:00:00 2001 From: Jonghyeon Ko Date: Wed, 13 Nov 2024 16:07:00 +0900 Subject: [PATCH] test(react-query): add test case for useSuspenseInfiniteQuery accept skipToken as queryFn (#8270) --- .../useSuspenseInfiniteQuery.test.tsx | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 packages/react-query/src/__tests__/useSuspenseInfiniteQuery.test.tsx diff --git a/packages/react-query/src/__tests__/useSuspenseInfiniteQuery.test.tsx b/packages/react-query/src/__tests__/useSuspenseInfiniteQuery.test.tsx new file mode 100644 index 0000000000..b5d7b4a49d --- /dev/null +++ b/packages/react-query/src/__tests__/useSuspenseInfiniteQuery.test.tsx @@ -0,0 +1,43 @@ +import { describe, expect, it, vi } from 'vitest' +import * as React from 'react' +import { QueryCache, skipToken, useSuspenseInfiniteQuery } from '..' +import { createQueryClient, queryKey, renderWithClient } from './utils' + +describe('useSuspenseInfiniteQuery', () => { + const queryCache = new QueryCache() + const queryClient = createQueryClient({ queryCache }) + + it('should log an error when skipToken is passed as queryFn', () => { + const consoleErrorSpy = vi + .spyOn(console, 'error') + .mockImplementation(() => {}) + const key = queryKey() + + function Page() { + useSuspenseInfiniteQuery({ + queryKey: key, + initialPageParam: 1, + getNextPageParam: () => 1, + // @ts-expect-error + queryFn: Math.random() >= 0 ? skipToken : () => Promise.resolve(5), + }) + + return null + } + + function App() { + return ( + + + + ) + } + + renderWithClient(queryClient, ) + + expect(consoleErrorSpy).toHaveBeenCalledWith( + 'skipToken is not allowed for useSuspenseInfiniteQuery', + ) + consoleErrorSpy.mockRestore() + }) +})