@@ -24,10 +24,7 @@ describe('createQuery', () => {
24
24
25
25
const options = {
26
26
queryKey : [ 'test' ] ,
27
- queryFn : async ( ) => {
28
- await sleep ( 5 )
29
- return 'Success'
30
- } ,
27
+ queryFn : ( ) => sleep ( 10 ) . then ( ( ) => 'Success' ) ,
31
28
}
32
29
33
30
const rendered = render ( BaseExample , {
@@ -38,13 +35,12 @@ describe('createQuery', () => {
38
35
} ,
39
36
} )
40
37
41
- await vi . advanceTimersByTimeAsync ( 6 )
42
- expect ( rendered . queryByText ( 'Status: success' ) ) . toBeInTheDocument ( )
38
+ await vi . advanceTimersByTimeAsync ( 11 )
39
+ expect ( rendered . getByText ( 'Status: success' ) ) . toBeInTheDocument ( )
43
40
44
41
const states = get ( statesStore )
45
42
46
43
expect ( states ) . toHaveLength ( 2 )
47
-
48
44
expect ( states [ 0 ] ) . toMatchObject ( {
49
45
data : undefined ,
50
46
dataUpdatedAt : 0 ,
@@ -71,7 +67,6 @@ describe('createQuery', () => {
71
67
status : 'pending' ,
72
68
fetchStatus : 'fetching' ,
73
69
} )
74
-
75
70
expect ( states [ 1 ] ) . toMatchObject ( {
76
71
data : 'Success' ,
77
72
dataUpdatedAt : expect . any ( Number ) ,
@@ -105,9 +100,10 @@ describe('createQuery', () => {
105
100
106
101
const options = {
107
102
queryKey : [ 'test' ] ,
108
- queryFn : ( ) => Promise . reject ( new Error ( 'Rejected' ) ) ,
103
+ queryFn : ( ) =>
104
+ sleep ( 10 ) . then ( ( ) => Promise . reject ( new Error ( 'Rejected' ) ) ) ,
109
105
retry : 1 ,
110
- retryDelay : 1 ,
106
+ retryDelay : 10 ,
111
107
}
112
108
113
109
const rendered = render ( BaseExample , {
@@ -118,13 +114,12 @@ describe('createQuery', () => {
118
114
} ,
119
115
} )
120
116
121
- await vi . advanceTimersByTimeAsync ( 2 )
117
+ await vi . advanceTimersByTimeAsync ( 31 )
122
118
expect ( rendered . getByText ( 'Status: error' ) ) . toBeInTheDocument ( )
123
119
124
120
const states = get ( statesStore )
125
121
126
122
expect ( states ) . toHaveLength ( 3 )
127
-
128
123
expect ( states [ 0 ] ) . toMatchObject ( {
129
124
data : undefined ,
130
125
dataUpdatedAt : 0 ,
@@ -151,7 +146,6 @@ describe('createQuery', () => {
151
146
status : 'pending' ,
152
147
fetchStatus : 'fetching' ,
153
148
} )
154
-
155
149
expect ( states [ 1 ] ) . toMatchObject ( {
156
150
data : undefined ,
157
151
dataUpdatedAt : 0 ,
@@ -178,7 +172,6 @@ describe('createQuery', () => {
178
172
status : 'pending' ,
179
173
fetchStatus : 'fetching' ,
180
174
} )
181
-
182
175
expect ( states [ 2 ] ) . toMatchObject ( {
183
176
data : undefined ,
184
177
dataUpdatedAt : 0 ,
@@ -212,10 +205,7 @@ describe('createQuery', () => {
212
205
213
206
const optionsStore = writable ( {
214
207
queryKey : [ 'test' ] ,
215
- queryFn : async ( ) => {
216
- await sleep ( 5 )
217
- return 'Success'
218
- } ,
208
+ queryFn : ( ) => sleep ( 10 ) . then ( ( ) => 'Success' ) ,
219
209
} )
220
210
221
211
const rendered = render ( BaseExample , {
@@ -226,8 +216,8 @@ describe('createQuery', () => {
226
216
} ,
227
217
} )
228
218
229
- await vi . advanceTimersByTimeAsync ( 6 )
230
- expect ( rendered . queryByText ( 'Status: success' ) ) . toBeInTheDocument ( )
219
+ await vi . advanceTimersByTimeAsync ( 11 )
220
+ expect ( rendered . getByText ( 'Status: success' ) ) . toBeInTheDocument ( )
231
221
} )
232
222
233
223
test ( 'Accept a derived store for options' , async ( ) => {
@@ -237,10 +227,7 @@ describe('createQuery', () => {
237
227
238
228
const derivedStore = derived ( writableStore , ( $store ) => ( {
239
229
queryKey : [ $store ] ,
240
- queryFn : async ( ) => {
241
- await sleep ( 5 )
242
- return 'Success'
243
- } ,
230
+ queryFn : ( ) => sleep ( 10 ) . then ( ( ) => 'Success' ) ,
244
231
} ) )
245
232
246
233
const rendered = render ( BaseExample , {
@@ -251,7 +238,7 @@ describe('createQuery', () => {
251
238
} ,
252
239
} )
253
240
254
- await vi . advanceTimersByTimeAsync ( 6 )
241
+ await vi . advanceTimersByTimeAsync ( 11 )
255
242
expect ( rendered . queryByText ( 'Status: success' ) ) . toBeInTheDocument ( )
256
243
} )
257
244
@@ -262,10 +249,7 @@ describe('createQuery', () => {
262
249
263
250
const derivedStore = derived ( writableStore , ( $store ) => ( {
264
251
queryKey : [ $store ] ,
265
- queryFn : async ( ) => {
266
- await sleep ( 5 )
267
- return $store
268
- } ,
252
+ queryFn : ( ) => sleep ( 10 ) . then ( ( ) => $store ) ,
269
253
} ) )
270
254
271
255
const rendered = render ( BaseExample , {
@@ -278,20 +262,20 @@ describe('createQuery', () => {
278
262
} ,
279
263
} )
280
264
281
- await vi . advanceTimersByTimeAsync ( 6 )
282
- expect ( rendered . queryByText ( 'Data: 1' ) ) . toBeInTheDocument ( )
265
+ await vi . advanceTimersByTimeAsync ( 11 )
266
+ expect ( rendered . getByText ( 'Data: 1' ) ) . toBeInTheDocument ( )
283
267
expect ( rendered . queryByText ( 'Data: 2' ) ) . not . toBeInTheDocument ( )
284
268
285
269
writableStore . set ( 2 )
286
270
287
- await vi . advanceTimersByTimeAsync ( 6 )
271
+ await vi . advanceTimersByTimeAsync ( 11 )
288
272
expect ( rendered . queryByText ( 'Data: 1' ) ) . not . toBeInTheDocument ( )
289
- expect ( rendered . queryByText ( 'Data: 2' ) ) . toBeInTheDocument ( )
273
+ expect ( rendered . getByText ( 'Data: 2' ) ) . toBeInTheDocument ( )
290
274
291
275
writableStore . set ( 1 )
292
276
293
- await vi . advanceTimersByTimeAsync ( 6 )
294
- expect ( rendered . queryByText ( 'Data: 1' ) ) . toBeInTheDocument ( )
277
+ await vi . advanceTimersByTimeAsync ( 11 )
278
+ expect ( rendered . getByText ( 'Data: 1' ) ) . toBeInTheDocument ( )
295
279
expect ( rendered . queryByText ( 'Data: 2' ) ) . not . toBeInTheDocument ( )
296
280
} )
297
281
@@ -305,11 +289,11 @@ describe('createQuery', () => {
305
289
} ,
306
290
} )
307
291
308
- await vi . advanceTimersByTimeAsync ( 6 )
292
+ await vi . advanceTimersByTimeAsync ( 11 )
309
293
expect ( rendered . getByText ( 'Data: 0' ) ) . toBeInTheDocument ( )
310
294
311
295
fireEvent . click ( rendered . getByRole ( 'button' , { name : 'setCount' } ) )
312
- await vi . advanceTimersByTimeAsync ( 6 )
296
+ await vi . advanceTimersByTimeAsync ( 11 )
313
297
expect ( rendered . getByText ( 'Data: 1' ) ) . toBeInTheDocument ( )
314
298
315
299
const states = get ( statesStore )
@@ -323,23 +307,20 @@ describe('createQuery', () => {
323
307
isSuccess : false ,
324
308
isPlaceholderData : false ,
325
309
} )
326
-
327
310
// Fetched
328
311
expect ( states [ 1 ] ) . toMatchObject ( {
329
312
data : 0 ,
330
313
isFetching : false ,
331
314
isSuccess : true ,
332
315
isPlaceholderData : false ,
333
316
} )
334
-
335
317
// Set state
336
318
expect ( states [ 2 ] ) . toMatchObject ( {
337
319
data : 0 ,
338
320
isFetching : true ,
339
321
isSuccess : true ,
340
322
isPlaceholderData : true ,
341
323
} )
342
-
343
324
// New data
344
325
expect ( states [ 3 ] ) . toMatchObject ( {
345
326
data : 1 ,
@@ -358,7 +339,7 @@ describe('createQuery', () => {
358
339
} ,
359
340
} )
360
341
361
- await vi . advanceTimersByTimeAsync ( 6 )
342
+ await vi . advanceTimersByTimeAsync ( 11 )
362
343
expect ( rendered . getByText ( 'Data: 0' ) ) . toBeInTheDocument ( )
363
344
364
345
fireEvent . click ( rendered . getByRole ( 'button' , { name : / I n c r e m e n t / i } ) )
@@ -376,21 +357,18 @@ describe('createQuery', () => {
376
357
isFetching : true ,
377
358
isSuccess : false ,
378
359
} )
379
-
380
360
// Fetched query
381
361
expect ( states [ 1 ] ) . toMatchObject ( {
382
362
data : 0 ,
383
363
isFetching : false ,
384
364
isSuccess : true ,
385
365
} )
386
-
387
366
// Switch to query disable
388
367
expect ( states [ 2 ] ) . toMatchObject ( {
389
368
data : undefined ,
390
369
isFetching : false ,
391
370
isSuccess : false ,
392
371
} )
393
-
394
372
// Fetched disabled query
395
373
expect ( states [ 3 ] ) . toMatchObject ( {
396
374
data : undefined ,
@@ -408,12 +386,12 @@ describe('createQuery', () => {
408
386
} ,
409
387
} )
410
388
411
- await vi . advanceTimersByTimeAsync ( 6 )
389
+ await vi . advanceTimersByTimeAsync ( 11 )
412
390
expect ( rendered . getByText ( 'Data: 1' ) ) . toBeInTheDocument ( )
413
391
414
392
fireEvent . click ( rendered . getByRole ( 'button' , { name : / R e m o v e / i } ) )
415
393
fireEvent . click ( rendered . getByRole ( 'button' , { name : / R e f e t c h / i } ) )
416
- await vi . advanceTimersByTimeAsync ( 6 )
394
+ await vi . advanceTimersByTimeAsync ( 11 )
417
395
expect ( rendered . getByText ( 'Data: 2' ) ) . toBeInTheDocument ( )
418
396
419
397
const states = get ( statesStore )
0 commit comments