@@ -6,23 +6,19 @@ import { createQueryClient, queryKey, renderWithClient, sleep } from './utils'
6
6
7
7
import type { UseSuspenseQueryOptions } from '..'
8
8
9
- const generateQueryFn = ( data : string ) =>
10
- vi
11
- . fn < ( ...args : Array < any > ) => Promise < string > > ( )
12
- . mockImplementation ( async ( ) => {
13
- await sleep ( 10 )
9
+ const generateQueryFn = < T , > ( data : T ) =>
10
+ vi . fn < ( ...args : Array < any > ) => Promise < T > > ( ) . mockImplementation ( async ( ) => {
11
+ await sleep ( 10 )
14
12
15
- return data
16
- } )
13
+ return data
14
+ } )
17
15
18
16
describe ( 'usePrefetchQueries' , ( ) => {
19
17
const queryCache = new QueryCache ( )
20
18
const queryClient = createQueryClient ( { queryCache } )
21
19
22
- function Suspended < TData = unknown > ( props : {
23
- queriesOpts : Array <
24
- UseSuspenseQueryOptions < TData , Error , TData , Array < string > >
25
- >
20
+ function Suspended ( props : {
21
+ queriesOpts : Array < UseSuspenseQueryOptions >
26
22
children ?: React . ReactNode
27
23
} ) {
28
24
const state = useSuspenseQueries ( {
@@ -46,7 +42,7 @@ describe('usePrefetchQueries', () => {
46
42
47
43
const queryOpts2 = {
48
44
queryKey : queryKey ( ) ,
49
- queryFn : generateQueryFn ( 'prefetchQuery2' ) ,
45
+ queryFn : generateQueryFn ( 2 ) ,
50
46
}
51
47
52
48
const componentQueryOpts1 = {
@@ -56,7 +52,7 @@ describe('usePrefetchQueries', () => {
56
52
57
53
const componentQueryOpts2 = {
58
54
...queryOpts2 ,
59
- queryFn : generateQueryFn ( 'useSuspenseQuery2' ) ,
55
+ queryFn : generateQueryFn ( 2 ) ,
60
56
}
61
57
62
58
function App ( ) {
@@ -73,9 +69,7 @@ describe('usePrefetchQueries', () => {
73
69
74
70
const rendered = renderWithClient ( queryClient , < App /> )
75
71
76
- await waitFor ( ( ) =>
77
- rendered . getByText ( 'data: prefetchQuery1, prefetchQuery2' ) ,
78
- )
72
+ await waitFor ( ( ) => rendered . getByText ( 'data: prefetchQuery1, 2' ) )
79
73
expect ( queryOpts1 . queryFn ) . toHaveBeenCalledTimes ( 1 )
80
74
expect ( queryOpts2 . queryFn ) . toHaveBeenCalledTimes ( 1 )
81
75
} )
@@ -88,7 +82,7 @@ describe('usePrefetchQueries', () => {
88
82
89
83
const queryOpts2 = {
90
84
queryKey : queryKey ( ) ,
91
- queryFn : generateQueryFn ( 'The usePrefetchQueries hook is smart! 2' ) ,
85
+ queryFn : generateQueryFn ( 2 ) ,
92
86
}
93
87
94
88
function App ( ) {
@@ -112,9 +106,7 @@ describe('usePrefetchQueries', () => {
112
106
113
107
expect ( rendered . queryByText ( 'fetching: true' ) ) . not . toBeInTheDocument ( )
114
108
await waitFor ( ( ) =>
115
- rendered . getByText (
116
- 'data: The usePrefetchQueries hook is smart! 1, The usePrefetchQueries hook is smart! 2' ,
117
- ) ,
109
+ rendered . getByText ( 'data: The usePrefetchQueries hook is smart! 1, 2' ) ,
118
110
)
119
111
expect ( queryOpts1 . queryFn ) . not . toHaveBeenCalled ( )
120
112
expect ( queryOpts2 . queryFn ) . not . toHaveBeenCalled ( )
@@ -128,7 +120,7 @@ describe('usePrefetchQueries', () => {
128
120
129
121
const queryOpts2 = {
130
122
queryKey : queryKey ( ) ,
131
- queryFn : generateQueryFn ( 'The usePrefetchQueries hook is smart! 2' ) ,
123
+ queryFn : generateQueryFn ( 2 ) ,
132
124
}
133
125
134
126
function App ( ) {
@@ -150,9 +142,7 @@ describe('usePrefetchQueries', () => {
150
142
const rendered = renderWithClient ( queryClient , < App /> )
151
143
152
144
await waitFor ( ( ) =>
153
- rendered . getByText (
154
- 'data: The usePrefetchQueries hook is smart! 1, The usePrefetchQueries hook is smart! 2' ,
155
- ) ,
145
+ rendered . getByText ( 'data: The usePrefetchQueries hook is smart! 1, 2' ) ,
156
146
)
157
147
expect ( queryOpts1 . queryFn ) . not . toHaveBeenCalled ( )
158
148
expect ( queryOpts2 . queryFn ) . toHaveBeenCalledTimes ( 1 )
@@ -166,7 +156,7 @@ describe('usePrefetchQueries', () => {
166
156
167
157
const queryOpts2 = {
168
158
queryKey : queryKey ( ) ,
169
- queryFn : generateQueryFn ( 'prefetchedQuery2' ) ,
159
+ queryFn : generateQueryFn ( 2 ) ,
170
160
}
171
161
172
162
function Prefetch ( { children } : { children : React . ReactNode } ) {
@@ -187,9 +177,7 @@ describe('usePrefetchQueries', () => {
187
177
}
188
178
189
179
const rendered = renderWithClient ( queryClient , < App /> )
190
- await waitFor ( ( ) =>
191
- rendered . getByText ( 'data: prefetchedQuery1, prefetchedQuery2' ) ,
192
- )
180
+ await waitFor ( ( ) => rendered . getByText ( 'data: prefetchedQuery1, 2' ) )
193
181
expect ( queryOpts1 . queryFn ) . toHaveBeenCalledTimes ( 1 )
194
182
expect ( queryOpts2 . queryFn ) . toHaveBeenCalledTimes ( 1 )
195
183
} )
0 commit comments