Skip to content

Commit af0b3f1

Browse files
committed
test(svelte-query/createMutation): simplify 'mutationFn' and replace 'queryByText' with 'getByText'
1 parent 552fe4b commit af0b3f1

File tree

3 files changed

+16
-22
lines changed

3 files changed

+16
-22
lines changed

packages/svelte-query/tests/createMutation/OnSuccessExample.svelte

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import { writable } from 'svelte/store'
33
import { QueryClient } from '@tanstack/query-core'
44
import { createMutation, setQueryClientContext } from '../../src/index.js'
5+
import { sleep } from '@tanstack/query-test-utils'
56
67
export let onSuccessMock: any
78
export let onSettledMock: any
@@ -12,7 +13,7 @@
1213
setQueryClientContext(queryClient)
1314
1415
const mutation = createMutation({
15-
mutationFn: (vars: { count: number }) => Promise.resolve(vars.count),
16+
mutationFn: (vars: { count: number }) => sleep(10).then(() => vars.count),
1617
onSuccess: (data) => {
1718
onSuccessMock(data)
1819
},

packages/svelte-query/tests/createMutation/ResetExample.svelte

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
<script lang="ts">
22
import { QueryClient } from '@tanstack/query-core'
33
import { createMutation, setQueryClientContext } from '../../src/index.js'
4+
import { sleep } from '@tanstack/query-test-utils'
45
56
const queryClient = new QueryClient()
67
setQueryClientContext(queryClient)
78
89
const mutation = createMutation({
9-
mutationFn: () => {
10-
const err = new Error('Expected mock error')
11-
err.stack = ''
12-
return Promise.reject(err)
13-
},
10+
mutationFn: () =>
11+
sleep(10).then(() => Promise.reject(new Error('Expected mock error'))),
1412
})
1513
</script>
1614

packages/svelte-query/tests/createMutation/createMutation.test.ts

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,12 @@ describe('createMutation', () => {
2020
expect(rendered.queryByText('Error: undefined')).toBeInTheDocument()
2121

2222
fireEvent.click(rendered.getByRole('button', { name: /Mutate/i }))
23-
await vi.advanceTimersByTimeAsync(0)
24-
expect(
25-
rendered.queryByText('Error: Expected mock error'),
26-
).toBeInTheDocument()
23+
await vi.advanceTimersByTimeAsync(11)
24+
expect(rendered.getByText('Error: Expected mock error')).toBeInTheDocument()
2725

2826
fireEvent.click(rendered.getByRole('button', { name: /Reset/i }))
29-
await vi.advanceTimersByTimeAsync(0)
30-
expect(rendered.queryByText('Error: undefined')).toBeInTheDocument()
27+
await vi.advanceTimersByTimeAsync(11)
28+
expect(rendered.getByText('Error: undefined')).toBeInTheDocument()
3129
})
3230

3331
test('Able to call `onSuccess` and `onSettled` after each successful mutate', async () => {
@@ -46,7 +44,7 @@ describe('createMutation', () => {
4644
fireEvent.click(rendered.getByRole('button', { name: /Mutate/i }))
4745
fireEvent.click(rendered.getByRole('button', { name: /Mutate/i }))
4846
fireEvent.click(rendered.getByRole('button', { name: /Mutate/i }))
49-
await vi.advanceTimersByTimeAsync(0)
47+
await vi.advanceTimersByTimeAsync(11)
5048
expect(rendered.queryByText('Count: 3')).toBeInTheDocument()
5149

5250
expect(onSuccessMock).toHaveBeenCalledTimes(3)
@@ -67,14 +65,11 @@ describe('createMutation', () => {
6765

6866
const mutationFn = vi.fn<(value: Value) => Promise<Value>>()
6967

70-
mutationFn.mockImplementationOnce(() => {
71-
return Promise.reject(`Expected mock error`)
72-
})
68+
mutationFn.mockImplementationOnce(() =>
69+
sleep(20).then(() => Promise.reject(`Expected mock error`)),
70+
)
7371

74-
mutationFn.mockImplementation(async (value) => {
75-
await sleep(5)
76-
return Promise.resolve(value)
77-
})
72+
mutationFn.mockImplementation((value) => sleep(10).then(() => value))
7873

7974
const rendered = render(FailureExample, {
8075
props: {
@@ -86,7 +81,7 @@ describe('createMutation', () => {
8681

8782
fireEvent.click(rendered.getByRole('button', { name: /Mutate/i }))
8883
expect(rendered.getByText('Data: undefined')).toBeInTheDocument()
89-
await vi.advanceTimersByTimeAsync(0)
84+
await vi.advanceTimersByTimeAsync(21)
9085
expect(rendered.getByText('Status: error')).toBeInTheDocument()
9186
expect(rendered.getByText('Failure Count: 1')).toBeInTheDocument()
9287
expect(
@@ -96,7 +91,7 @@ describe('createMutation', () => {
9691
fireEvent.click(rendered.getByRole('button', { name: /Mutate/i }))
9792
await vi.advanceTimersByTimeAsync(0)
9893
expect(rendered.getByText('Status: pending')).toBeInTheDocument()
99-
await vi.advanceTimersByTimeAsync(6)
94+
await vi.advanceTimersByTimeAsync(11)
10095
expect(rendered.getByText('Status: success')).toBeInTheDocument()
10196
expect(rendered.getByText('Data: 2')).toBeInTheDocument()
10297
expect(rendered.getByText('Failure Count: 0')).toBeInTheDocument()

0 commit comments

Comments
 (0)