Skip to content
40 changes: 40 additions & 0 deletions packages/react-query/src/__tests__/ssr.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ import {
QueryClientProvider,
useInfiniteQuery,
useIsFetching,
useMutation,
useMutationState,
useQuery,
} from '..'
import { setIsServer } from './utils'
Expand Down Expand Up @@ -205,4 +207,42 @@ describe('Server Side Rendering', () => {

queryCache.clear()
})

it('useMutation should return idle status', () => {
function Page() {
const mutation = useMutation({
mutationFn: () => sleep(10).then(() => 'data'),
})

return <div>{`status: ${mutation.status}`}</div>
}

const markup = renderToString(
<QueryClientProvider client={queryClient}>
<Page />
</QueryClientProvider>,
)

expect(markup).toContain('status: idle')

queryCache.clear()
})

it('useMutationState should return empty array', () => {
function Page() {
const mutationState = useMutationState()

return <div>{`mutationState: ${mutationState.length}`}</div>
}

const markup = renderToString(
<QueryClientProvider client={queryClient}>
<Page />
</QueryClientProvider>,
)

expect(markup).toContain('mutationState: 0')

queryCache.clear()
})
})
Loading