Skip to content

Commit c65869e

Browse files
sukvvonmanudeli
andauthored
test(query-core/queriesObserver): use precise time in 'advanceTimersByTimeAsync' (#9429)
Co-authored-by: Jonghyeon Ko <manudeli.ko@gmail.com>
1 parent 9dcd588 commit c65869e

File tree

1 file changed

+28
-12
lines changed

1 file changed

+28
-12
lines changed

packages/query-core/src/__tests__/queriesObserver.test.tsx

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,11 @@ describe('queriesObserver', () => {
3030
const unsubscribe = observer.subscribe((result) => {
3131
observerResult = result
3232
})
33-
await vi.advanceTimersByTimeAsync(1)
33+
34+
await vi.advanceTimersByTimeAsync(0)
35+
3436
unsubscribe()
37+
3538
expect(observerResult).toMatchObject([{ data: 1 }, { data: 2 }])
3639
})
3740

@@ -49,10 +52,11 @@ describe('queriesObserver', () => {
4952
const unsubscribe = observer.subscribe((result) => {
5053
results.push(result)
5154
})
52-
await vi.advanceTimersByTimeAsync(1)
55+
56+
await vi.advanceTimersByTimeAsync(0)
5357
queryClient.setQueryData(key2, 3)
54-
await vi.advanceTimersByTimeAsync(1)
5558
unsubscribe()
59+
5660
expect(results.length).toBe(6)
5761
expect(results[0]).toMatchObject([
5862
{ status: 'pending', fetchStatus: 'idle', data: undefined },
@@ -94,10 +98,12 @@ describe('queriesObserver', () => {
9498
const unsubscribe = observer.subscribe((result) => {
9599
results.push(result)
96100
})
97-
await vi.advanceTimersByTimeAsync(1)
101+
102+
await vi.advanceTimersByTimeAsync(0)
98103
observer.setQueries([{ queryKey: key2, queryFn: queryFn2 }])
99-
await vi.advanceTimersByTimeAsync(1)
104+
100105
const queryCache = queryClient.getQueryCache()
106+
101107
expect(queryCache.find({ queryKey: key1, type: 'active' })).toBeUndefined()
102108
expect(queryCache.find({ queryKey: key2, type: 'active' })).toBeDefined()
103109
unsubscribe()
@@ -141,13 +147,15 @@ describe('queriesObserver', () => {
141147
const unsubscribe = observer.subscribe((result) => {
142148
results.push(result)
143149
})
144-
await vi.advanceTimersByTimeAsync(1)
150+
151+
await vi.advanceTimersByTimeAsync(0)
145152
observer.setQueries([
146153
{ queryKey: key2, queryFn: queryFn2 },
147154
{ queryKey: key1, queryFn: queryFn1 },
148155
])
149-
await vi.advanceTimersByTimeAsync(1)
156+
150157
unsubscribe()
158+
151159
expect(results.length).toBe(6)
152160
expect(results[0]).toMatchObject([
153161
{ status: 'pending', fetchStatus: 'idle', data: undefined },
@@ -189,13 +197,15 @@ describe('queriesObserver', () => {
189197
const unsubscribe = observer.subscribe((result) => {
190198
results.push(result)
191199
})
192-
await vi.advanceTimersByTimeAsync(1)
200+
201+
await vi.advanceTimersByTimeAsync(0)
193202
observer.setQueries([
194203
{ queryKey: key1, queryFn: queryFn1 },
195204
{ queryKey: key2, queryFn: queryFn2 },
196205
])
197-
await vi.advanceTimersByTimeAsync(1)
206+
198207
unsubscribe()
208+
199209
expect(results.length).toBe(5)
200210
expect(results[0]).toMatchObject([
201211
{ status: 'pending', fetchStatus: 'idle', data: undefined },
@@ -219,7 +229,7 @@ describe('queriesObserver', () => {
219229
])
220230
})
221231

222-
test('should trigger all fetches when subscribed', async () => {
232+
test('should trigger all fetches when subscribed', () => {
223233
const key1 = queryKey()
224234
const key2 = queryKey()
225235
const queryFn1 = vi.fn().mockReturnValue(1)
@@ -228,9 +238,11 @@ describe('queriesObserver', () => {
228238
{ queryKey: key1, queryFn: queryFn1 },
229239
{ queryKey: key2, queryFn: queryFn2 },
230240
])
241+
231242
const unsubscribe = observer.subscribe(() => undefined)
232-
await vi.advanceTimersByTimeAsync(1)
243+
233244
unsubscribe()
245+
234246
expect(queryFn1).toHaveBeenCalledTimes(1)
235247
expect(queryFn2).toHaveBeenCalledTimes(1)
236248
})
@@ -254,7 +266,9 @@ describe('queriesObserver', () => {
254266
const unsubscribe2 = observer.subscribe(subscription2Handler)
255267

256268
unsubscribe1()
269+
257270
await vi.advanceTimersByTimeAsync(20)
271+
258272
// 1 call: pending
259273
expect(subscription1Handler).toBeCalledTimes(1)
260274
// 1 call: success
@@ -277,6 +291,7 @@ describe('queriesObserver', () => {
277291
])
278292

279293
const results: Array<Array<QueryObserverResult>> = []
294+
280295
results.push(
281296
observer.getOptimisticResult(
282297
[
@@ -292,7 +307,8 @@ describe('queriesObserver', () => {
292307
results.push(result)
293308
})
294309

295-
await vi.advanceTimersByTimeAsync(1)
310+
await vi.advanceTimersByTimeAsync(0)
311+
296312
unsubscribe()
297313

298314
expect(results.length).toBe(6)

0 commit comments

Comments
 (0)