1
- import { describe , expect , test , vi } from 'vitest'
2
- import { render , waitFor } from '@testing-library/react'
1
+ import { afterEach , beforeEach , describe , expect , test , vi } from 'vitest'
2
+ import { render } from '@testing-library/react'
3
3
import { QueryCache , QueryClientProvider , useQuery , useQueryClient } from '..'
4
4
import { createQueryClient , queryKey , sleep } from './utils'
5
5
6
6
describe ( 'QueryClientProvider' , ( ) => {
7
+ beforeEach ( ( ) => {
8
+ vi . useFakeTimers ( )
9
+ } )
10
+
11
+ afterEach ( ( ) => {
12
+ vi . useRealTimers ( )
13
+ } )
14
+
7
15
test ( 'sets a specific cache for all queries to use' , async ( ) => {
8
16
const key = queryKey ( )
9
17
@@ -13,10 +21,7 @@ describe('QueryClientProvider', () => {
13
21
function Page ( ) {
14
22
const { data } = useQuery ( {
15
23
queryKey : key ,
16
- queryFn : async ( ) => {
17
- await sleep ( 10 )
18
- return 'test'
19
- } ,
24
+ queryFn : ( ) => sleep ( 10 ) . then ( ( ) => 'test' ) ,
20
25
} )
21
26
22
27
return (
@@ -32,7 +37,7 @@ describe('QueryClientProvider', () => {
32
37
</ QueryClientProvider > ,
33
38
)
34
39
35
- await waitFor ( ( ) => rendered . getByText ( 'test' ) )
40
+ await vi . waitFor ( ( ) => rendered . getByText ( 'test' ) )
36
41
37
42
expect ( queryCache . find ( { queryKey : key } ) ) . toBeDefined ( )
38
43
} )
@@ -50,10 +55,7 @@ describe('QueryClientProvider', () => {
50
55
function Page1 ( ) {
51
56
const { data } = useQuery ( {
52
57
queryKey : key1 ,
53
- queryFn : async ( ) => {
54
- await sleep ( 10 )
55
- return 'test1'
56
- } ,
58
+ queryFn : ( ) => sleep ( 10 ) . then ( ( ) => 'test1' ) ,
57
59
} )
58
60
59
61
return (
@@ -65,10 +67,7 @@ describe('QueryClientProvider', () => {
65
67
function Page2 ( ) {
66
68
const { data } = useQuery ( {
67
69
queryKey : key2 ,
68
- queryFn : async ( ) => {
69
- await sleep ( 10 )
70
- return 'test2'
71
- } ,
70
+ queryFn : ( ) => sleep ( 10 ) . then ( ( ) => 'test2' ) ,
72
71
} )
73
72
74
73
return (
@@ -89,8 +88,8 @@ describe('QueryClientProvider', () => {
89
88
</ > ,
90
89
)
91
90
92
- await waitFor ( ( ) => rendered . getByText ( 'test1' ) )
93
- await waitFor ( ( ) => rendered . getByText ( 'test2' ) )
91
+ await vi . waitFor ( ( ) => rendered . getByText ( 'test1' ) )
92
+ await vi . waitFor ( ( ) => rendered . getByText ( 'test2' ) )
94
93
95
94
expect ( queryCache1 . find ( { queryKey : key1 } ) ) . toBeDefined ( )
96
95
expect ( queryCache1 . find ( { queryKey : key2 } ) ) . not . toBeDefined ( )
@@ -114,10 +113,7 @@ describe('QueryClientProvider', () => {
114
113
function Page ( ) {
115
114
const { data } = useQuery ( {
116
115
queryKey : key ,
117
- queryFn : async ( ) => {
118
- await sleep ( 10 )
119
- return 'test'
120
- } ,
116
+ queryFn : ( ) => sleep ( 10 ) . then ( ( ) => 'test' ) ,
121
117
} )
122
118
123
119
return (
@@ -133,7 +129,7 @@ describe('QueryClientProvider', () => {
133
129
</ QueryClientProvider > ,
134
130
)
135
131
136
- await waitFor ( ( ) => rendered . getByText ( 'test' ) )
132
+ await vi . waitFor ( ( ) => rendered . getByText ( 'test' ) )
137
133
138
134
expect ( queryCache . find ( { queryKey : key } ) ) . toBeDefined ( )
139
135
expect ( queryCache . find ( { queryKey : key } ) ?. options . gcTime ) . toBe ( Infinity )
0 commit comments