From e72096fbee9a15c3318a810068efeb0d10be209c Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 28 Dec 2025 15:43:37 +0900 Subject: [PATCH 1/2] test(react-query/ssr): add 'useMutation' and 'useMutationState' tests for SSR --- .../react-query/src/__tests__/ssr.test.tsx | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/packages/react-query/src/__tests__/ssr.test.tsx b/packages/react-query/src/__tests__/ssr.test.tsx index 0738b8d290..9816664b82 100644 --- a/packages/react-query/src/__tests__/ssr.test.tsx +++ b/packages/react-query/src/__tests__/ssr.test.tsx @@ -7,6 +7,8 @@ import { QueryClient, QueryClientProvider, useInfiniteQuery, + useMutation, + useMutationState, useQuery, } from '..' import { setIsServer } from './utils' @@ -173,4 +175,38 @@ describe('Server Side Rendering', () => { queryCache.clear() }) + + it('useMutation should return idle status', () => { + function Page() { + const mutation = useMutation({ + mutationFn: () => sleep(10).then(() => 'data'), + }) + + return
{`status: ${mutation.status}`}
+ } + + const markup = renderToString( + + + , + ) + + expect(markup).toContain('status: idle') + }) + + it('useMutationState should return empty array', () => { + function Page() { + const mutationState = useMutationState() + + return
{`mutationState: ${mutationState.length}`}
+ } + + const markup = renderToString( + + + , + ) + + expect(markup).toContain('mutationState: 0') + }) }) From b886a33ae985307a05f22195fc9f3f3d4d8461a0 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sun, 28 Dec 2025 22:27:38 +0900 Subject: [PATCH 2/2] test(react-query/ssr): add 'queryCache.clear()' to 'useMutation' and 'useMutationState' tests --- packages/react-query/src/__tests__/ssr.test.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/react-query/src/__tests__/ssr.test.tsx b/packages/react-query/src/__tests__/ssr.test.tsx index 4e70452c74..4977a2325a 100644 --- a/packages/react-query/src/__tests__/ssr.test.tsx +++ b/packages/react-query/src/__tests__/ssr.test.tsx @@ -224,6 +224,8 @@ describe('Server Side Rendering', () => { ) expect(markup).toContain('status: idle') + + queryCache.clear() }) it('useMutationState should return empty array', () => { @@ -240,5 +242,7 @@ describe('Server Side Rendering', () => { ) expect(markup).toContain('mutationState: 0') + + queryCache.clear() }) })