Skip to content

Commit 47f7e86

Browse files
sukvvonmanudeli
andauthored
test(vue-query/useIsMutating): switch to fake timers and replace 'sleep' with 'advanceTimersByTimeAsync' (#9373)
Co-authored-by: Jonghyeon Ko <[email protected]>
1 parent 367a96e commit 47f7e86

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

packages/vue-query/src/__tests__/useIsMutating.test.ts

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { describe, expect, it, test, vi } from 'vitest'
1+
import { afterEach, beforeEach, describe, expect, it, test, vi } from 'vitest'
22
import { onScopeDispose, reactive } from 'vue-demi'
33
import { sleep } from '@tanstack/query-test-utils'
44
import { useMutation } from '../useMutation'
@@ -9,12 +9,20 @@ import type { MockedFunction } from 'vitest'
99
vi.mock('../useQueryClient')
1010

1111
describe('useIsMutating', () => {
12+
beforeEach(() => {
13+
vi.useFakeTimers()
14+
})
15+
16+
afterEach(() => {
17+
vi.useRealTimers()
18+
})
19+
1220
test('should properly return isMutating state', async () => {
1321
const mutation = useMutation({
14-
mutationFn: (params: string) => sleep(0).then(() => params),
22+
mutationFn: (params: string) => sleep(10).then(() => params),
1523
})
1624
const mutation2 = useMutation({
17-
mutationFn: (params: string) => sleep(0).then(() => params),
25+
mutationFn: (params: string) => sleep(10).then(() => params),
1826
})
1927
const isMutating = useIsMutating()
2028

@@ -23,11 +31,11 @@ describe('useIsMutating', () => {
2331
mutation.mutateAsync('a')
2432
mutation2.mutateAsync('b')
2533

26-
await sleep(0)
34+
await vi.advanceTimersByTimeAsync(0)
2735

2836
expect(isMutating.value).toStrictEqual(2)
2937

30-
await sleep(0)
38+
await vi.advanceTimersByTimeAsync(10)
3139

3240
expect(isMutating.value).toStrictEqual(0)
3341
})
@@ -51,11 +59,11 @@ describe('useIsMutating', () => {
5159
mutation.mutateAsync('a')
5260
mutation2.mutateAsync('b')
5361

54-
await sleep(0)
62+
await vi.advanceTimersByTimeAsync(0)
5563

5664
expect(isMutating.value).toStrictEqual(0)
5765

58-
await sleep(0)
66+
await vi.advanceTimersByTimeAsync(0)
5967

6068
expect(isMutating.value).toStrictEqual(0)
6169

@@ -66,7 +74,7 @@ describe('useIsMutating', () => {
6674
const filter = reactive({ mutationKey: ['foo'] })
6775
const { mutate } = useMutation({
6876
mutationKey: ['isMutating'],
69-
mutationFn: (params: string) => sleep(0).then(() => params),
77+
mutationFn: (params: string) => sleep(10).then(() => params),
7078
})
7179
mutate('foo')
7280

@@ -76,7 +84,7 @@ describe('useIsMutating', () => {
7684

7785
filter.mutationKey = ['isMutating']
7886

79-
await sleep(0)
87+
await vi.advanceTimersByTimeAsync(0)
8088

8189
expect(isMutating.value).toStrictEqual(1)
8290
})

0 commit comments

Comments
 (0)