1
- import { describe , expect , test , vi } from 'vitest'
1
+ import { afterEach , beforeEach , describe , expect , test , vi } from 'vitest'
2
2
import { onScopeDispose , reactive } from 'vue-demi'
3
3
import { sleep } from '@tanstack/query-test-utils'
4
4
import { useQuery } from '../useQuery'
@@ -8,6 +8,14 @@ import type { MockedFunction } from 'vitest'
8
8
vi . mock ( '../useQueryClient' )
9
9
10
10
describe ( 'useIsFetching' , ( ) => {
11
+ beforeEach ( ( ) => {
12
+ vi . useFakeTimers ( )
13
+ } )
14
+
15
+ afterEach ( ( ) => {
16
+ vi . useRealTimers ( )
17
+ } )
18
+
11
19
test ( 'should properly return isFetching state' , async ( ) => {
12
20
const { isFetching : isFetchingQuery } = useQuery ( {
13
21
queryKey : [ 'isFetching1' ] ,
@@ -22,7 +30,7 @@ describe('useIsFetching', () => {
22
30
expect ( isFetchingQuery . value ) . toStrictEqual ( true )
23
31
expect ( isFetching . value ) . toStrictEqual ( 2 )
24
32
25
- await sleep ( 0 )
33
+ await vi . advanceTimersByTimeAsync ( 0 )
26
34
27
35
expect ( isFetchingQuery . value ) . toStrictEqual ( false )
28
36
expect ( isFetching . value ) . toStrictEqual ( 0 )
@@ -43,12 +51,12 @@ describe('useIsFetching', () => {
43
51
expect ( status . value ) . toStrictEqual ( 'pending' )
44
52
expect ( isFetching . value ) . toStrictEqual ( 1 )
45
53
46
- await sleep ( 0 )
54
+ await vi . advanceTimersByTimeAsync ( 0 )
47
55
48
56
expect ( status . value ) . toStrictEqual ( 'pending' )
49
57
expect ( isFetching . value ) . toStrictEqual ( 1 )
50
58
51
- await sleep ( 0 )
59
+ await vi . advanceTimersByTimeAsync ( 0 )
52
60
53
61
expect ( status . value ) . toStrictEqual ( 'pending' )
54
62
expect ( isFetching . value ) . toStrictEqual ( 1 )
@@ -72,7 +80,7 @@ describe('useIsFetching', () => {
72
80
expect ( isFetching . value ) . toStrictEqual ( 0 )
73
81
74
82
filter . stale = true
75
- await sleep ( 0 )
83
+ await vi . advanceTimersByTimeAsync ( 0 )
76
84
77
85
expect ( isFetching . value ) . toStrictEqual ( 1 )
78
86
} )
0 commit comments