Skip to content

Commit dee5d3e

Browse files
sukvvonmanudeliTkDodo
authored
test(react-query/ssr): add 'useMutation' and 'useMutationState' tests for SSR (#9995)
* test(react-query/ssr): add 'useMutation' and 'useMutationState' tests for SSR * test(react-query/ssr): add 'queryCache.clear()' to 'useMutation' and 'useMutationState' tests * chore(ci): trigger CI rerun * ci: trigger CI re-run * ci: trigger CI re-run --------- Co-authored-by: Jonghyeon Ko <jonghyeon@toss.im> Co-authored-by: Dominik Dorfmeister <office@dorfmeister.cc>
1 parent a678f09 commit dee5d3e

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

packages/react-query/src/__tests__/ssr.test.tsx

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import {
88
QueryClientProvider,
99
useInfiniteQuery,
1010
useIsFetching,
11+
useMutation,
12+
useMutationState,
1113
useQueries,
1214
useQuery,
1315
} from '..'
@@ -248,4 +250,42 @@ describe('Server Side Rendering', () => {
248250

249251
queryCache.clear()
250252
})
253+
254+
it('useMutation should return idle status', () => {
255+
function Page() {
256+
const mutation = useMutation({
257+
mutationFn: () => sleep(10).then(() => 'data'),
258+
})
259+
260+
return <div>{`status: ${mutation.status}`}</div>
261+
}
262+
263+
const markup = renderToString(
264+
<QueryClientProvider client={queryClient}>
265+
<Page />
266+
</QueryClientProvider>,
267+
)
268+
269+
expect(markup).toContain('status: idle')
270+
271+
queryCache.clear()
272+
})
273+
274+
it('useMutationState should return empty array', () => {
275+
function Page() {
276+
const mutationState = useMutationState()
277+
278+
return <div>{`mutationState: ${mutationState.length}`}</div>
279+
}
280+
281+
const markup = renderToString(
282+
<QueryClientProvider client={queryClient}>
283+
<Page />
284+
</QueryClientProvider>,
285+
)
286+
287+
expect(markup).toContain('mutationState: 0')
288+
289+
queryCache.clear()
290+
})
251291
})

0 commit comments

Comments
 (0)