From 29a1eff344391d264ec82dadc5ae658b3fbd0254 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Wed, 18 Feb 2026 17:19:55 +0900 Subject: [PATCH] test(solid-query/useMutationState): add test for default 'options' parameter coverage --- .../src/__tests__/useMutationState.test.tsx | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/packages/solid-query/src/__tests__/useMutationState.test.tsx b/packages/solid-query/src/__tests__/useMutationState.test.tsx index 5157e326ff2..0031a7a791a 100644 --- a/packages/solid-query/src/__tests__/useMutationState.test.tsx +++ b/packages/solid-query/src/__tests__/useMutationState.test.tsx @@ -18,6 +18,54 @@ describe('useMutationState', () => { vi.useRealTimers() }) + it('should return all mutation states when called without options', async () => { + const queryClient = new QueryClient() + const mutationKey = ['mutation'] + + function States() { + const mutationStates = useMutationState() + + return
count: {mutationStates().length}
+ } + + function Mutate() { + const mutation = useMutation(() => ({ + mutationKey, + mutationFn: (input: number) => sleep(150).then(() => 'data' + input), + })) + + return ( +
+ +
+ ) + } + + function Page() { + return ( +
+ + +
+ ) + } + + const rendered = render(() => ( + + + + )) + + expect(rendered.getByText('count: 0')).toBeInTheDocument() + + fireEvent.click(rendered.getByRole('button', { name: /mutate/i })) + await vi.advanceTimersByTimeAsync(0) + expect(rendered.getByText('count: 1')).toBeInTheDocument() + + await vi.advanceTimersByTimeAsync(150) + expect(rendered.getByText('count: 1')).toBeInTheDocument() + }) + it('should return variables after calling mutate', async () => { const queryClient = new QueryClient() const variables: Array> = []