1
1
import { afterEach , beforeEach , describe , expect , test , vi } from 'vitest'
2
- import { waitFor } from '@testing-library/dom'
3
2
import { QueriesObserver } from '..'
4
3
import { createQueryClient , queryKey , sleep } from './utils'
5
4
import type { QueryClient , QueryObserverResult } from '..'
@@ -8,12 +7,14 @@ describe('queriesObserver', () => {
8
7
let queryClient : QueryClient
9
8
10
9
beforeEach ( ( ) => {
10
+ vi . useFakeTimers ( )
11
11
queryClient = createQueryClient ( )
12
12
queryClient . mount ( )
13
13
} )
14
14
15
15
afterEach ( ( ) => {
16
16
queryClient . clear ( )
17
+ vi . useRealTimers ( )
17
18
} )
18
19
19
20
test ( 'should return an array with all query results' , async ( ) => {
@@ -29,7 +30,7 @@ describe('queriesObserver', () => {
29
30
const unsubscribe = observer . subscribe ( ( result ) => {
30
31
observerResult = result
31
32
} )
32
- await sleep ( 1 )
33
+ await vi . advanceTimersByTimeAsync ( 1 )
33
34
unsubscribe ( )
34
35
expect ( observerResult ) . toMatchObject ( [ { data : 1 } , { data : 2 } ] )
35
36
} )
@@ -48,9 +49,9 @@ describe('queriesObserver', () => {
48
49
const unsubscribe = observer . subscribe ( ( result ) => {
49
50
results . push ( result )
50
51
} )
51
- await sleep ( 1 )
52
+ await vi . advanceTimersByTimeAsync ( 1 )
52
53
queryClient . setQueryData ( key2 , 3 )
53
- await sleep ( 1 )
54
+ await vi . advanceTimersByTimeAsync ( 1 )
54
55
unsubscribe ( )
55
56
expect ( results . length ) . toBe ( 6 )
56
57
expect ( results [ 0 ] ) . toMatchObject ( [
@@ -93,9 +94,9 @@ describe('queriesObserver', () => {
93
94
const unsubscribe = observer . subscribe ( ( result ) => {
94
95
results . push ( result )
95
96
} )
96
- await sleep ( 1 )
97
+ await vi . advanceTimersByTimeAsync ( 1 )
97
98
observer . setQueries ( [ { queryKey : key2 , queryFn : queryFn2 } ] )
98
- await sleep ( 1 )
99
+ await vi . advanceTimersByTimeAsync ( 1 )
99
100
const queryCache = queryClient . getQueryCache ( )
100
101
expect ( queryCache . find ( { queryKey : key1 , type : 'active' } ) ) . toBeUndefined ( )
101
102
expect ( queryCache . find ( { queryKey : key2 , type : 'active' } ) ) . toBeDefined ( )
@@ -140,12 +141,12 @@ describe('queriesObserver', () => {
140
141
const unsubscribe = observer . subscribe ( ( result ) => {
141
142
results . push ( result )
142
143
} )
143
- await sleep ( 1 )
144
+ await vi . advanceTimersByTimeAsync ( 1 )
144
145
observer . setQueries ( [
145
146
{ queryKey : key2 , queryFn : queryFn2 } ,
146
147
{ queryKey : key1 , queryFn : queryFn1 } ,
147
148
] )
148
- await sleep ( 1 )
149
+ await vi . advanceTimersByTimeAsync ( 1 )
149
150
unsubscribe ( )
150
151
expect ( results . length ) . toBe ( 6 )
151
152
expect ( results [ 0 ] ) . toMatchObject ( [
@@ -188,12 +189,12 @@ describe('queriesObserver', () => {
188
189
const unsubscribe = observer . subscribe ( ( result ) => {
189
190
results . push ( result )
190
191
} )
191
- await sleep ( 1 )
192
+ await vi . advanceTimersByTimeAsync ( 1 )
192
193
observer . setQueries ( [
193
194
{ queryKey : key1 , queryFn : queryFn1 } ,
194
195
{ queryKey : key2 , queryFn : queryFn2 } ,
195
196
] )
196
- await sleep ( 1 )
197
+ await vi . advanceTimersByTimeAsync ( 1 )
197
198
unsubscribe ( )
198
199
expect ( results . length ) . toBe ( 5 )
199
200
expect ( results [ 0 ] ) . toMatchObject ( [
@@ -228,7 +229,7 @@ describe('queriesObserver', () => {
228
229
{ queryKey : key2 , queryFn : queryFn2 } ,
229
230
] )
230
231
const unsubscribe = observer . subscribe ( ( ) => undefined )
231
- await sleep ( 1 )
232
+ await vi . advanceTimersByTimeAsync ( 1 )
232
233
unsubscribe ( )
233
234
expect ( queryFn1 ) . toHaveBeenCalledTimes ( 1 )
234
235
expect ( queryFn2 ) . toHaveBeenCalledTimes ( 1 )
@@ -254,7 +255,7 @@ describe('queriesObserver', () => {
254
255
255
256
unsubscribe1 ( )
256
257
257
- await waitFor ( ( ) => {
258
+ await vi . waitFor ( ( ) => {
258
259
// 1 call: pending
259
260
expect ( subscription1Handler ) . toBeCalledTimes ( 1 )
260
261
// 1 call: success
@@ -293,7 +294,7 @@ describe('queriesObserver', () => {
293
294
results . push ( result )
294
295
} )
295
296
296
- await sleep ( 1 )
297
+ await vi . advanceTimersByTimeAsync ( 1 )
297
298
unsubscribe ( )
298
299
299
300
expect ( results . length ) . toBe ( 6 )
0 commit comments