@@ -20,10 +20,6 @@ jest.mock("../useQueryClient");
20
20
jest . mock ( "../useBaseQuery" ) ;
21
21
22
22
describe ( "useQuery" , ( ) => {
23
- beforeEach ( ( ) => {
24
- jest . clearAllMocks ( ) ;
25
- } ) ;
26
-
27
23
test ( "should properly execute query" , ( ) => {
28
24
useQuery ( [ "key0" ] , simpleFetcher , { staleTime : 1000 } ) ;
29
25
@@ -239,10 +235,47 @@ describe("useQuery", () => {
239
235
const getCurrentInstanceSpy = getCurrentInstance as jest . Mock ;
240
236
getCurrentInstanceSpy . mockImplementation ( ( ) => ( { suspense : { } } ) ) ;
241
237
242
- const query = useQuery ( [ "suspense3 " ] , simpleFetcher ) ;
238
+ const query = useQuery ( [ "suspense " ] , simpleFetcher ) ;
243
239
const result = query . suspense ( ) ;
244
240
245
241
expect ( result ) . toBeInstanceOf ( Promise ) ;
246
242
} ) ;
243
+
244
+ test ( "should resolve after being enabled" , ( ) => {
245
+ const getCurrentInstanceSpy = getCurrentInstance as jest . Mock ;
246
+ getCurrentInstanceSpy . mockImplementation ( ( ) => ( { suspense : { } } ) ) ;
247
+
248
+ let afterTimeout = false ;
249
+ const isEnabeld = ref ( false ) ;
250
+ const query = useQuery ( [ "suspense" ] , simpleFetcher , {
251
+ enabled : isEnabeld ,
252
+ } ) ;
253
+
254
+ setTimeout ( ( ) => {
255
+ afterTimeout = true ;
256
+ isEnabeld . value = true ;
257
+ } , 200 ) ;
258
+
259
+ return query . suspense ( ) . then ( ( result ) => {
260
+ expect ( afterTimeout ) . toBe ( true ) ;
261
+ } ) ;
262
+ } ) ;
263
+
264
+ test ( "should resolve immidiately when stale without refetching" , ( ) => {
265
+ const getCurrentInstanceSpy = getCurrentInstance as jest . Mock ;
266
+ getCurrentInstanceSpy . mockImplementation ( ( ) => ( { suspense : { } } ) ) ;
267
+
268
+ const fetcherSpy = jest . fn ( ( ) => simpleFetcher ( ) ) ;
269
+
270
+ // let afterTimeout = false;
271
+ const query = useQuery ( [ "suspense" ] , simpleFetcher , {
272
+ staleTime : 10000 ,
273
+ initialData : "foo" ,
274
+ } ) ;
275
+
276
+ return query . suspense ( ) . then ( ( ) => {
277
+ expect ( fetcherSpy ) . toHaveBeenCalledTimes ( 0 ) ;
278
+ } ) ;
279
+ } ) ;
247
280
} ) ;
248
281
} ) ;
0 commit comments