Skip to content

Commit b16e793

Browse files
sukvvonmanudeli
andauthored
test(query-core/queryClient): add 'advanceTimersByTimeAsync' and remove 'vi.waitFor' (#9326)
Co-authored-by: Jonghyeon Ko <manudeli.ko@gmail.com>
1 parent 33c69ec commit b16e793

File tree

1 file changed

+38
-63
lines changed

1 file changed

+38
-63
lines changed

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

Lines changed: 38 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -699,9 +699,8 @@ describe('queryClient', () => {
699699
})
700700
await vi.advanceTimersByTimeAsync(10)
701701
await expect(promise).resolves.toEqual(1)
702-
await vi.waitFor(() =>
703-
expect(queryClient.getQueryData(key1)).toEqual(undefined),
704-
)
702+
await vi.advanceTimersByTimeAsync(1)
703+
expect(queryClient.getQueryData(key1)).toEqual(undefined)
705704
})
706705

707706
test('should keep a query in cache if garbage collection time is Infinity', async () => {
@@ -1725,9 +1724,8 @@ describe('queryClient', () => {
17251724
expect(mutationCacheResumePausedMutationsSpy).not.toHaveBeenCalled()
17261725

17271726
focusManager.setFocused(true)
1728-
await vi.waitFor(() =>
1729-
expect(queryCacheOnFocusSpy).toHaveBeenCalledTimes(1),
1730-
)
1727+
await vi.advanceTimersByTimeAsync(0)
1728+
expect(queryCacheOnFocusSpy).toHaveBeenCalledTimes(1)
17311729
expect(mutationCacheResumePausedMutationsSpy).toHaveBeenCalledTimes(1)
17321730

17331731
expect(queryCacheOnOnlineSpy).not.toHaveBeenCalled()
@@ -1759,9 +1757,8 @@ describe('queryClient', () => {
17591757
expect(mutationCacheResumePausedMutationsSpy).not.toHaveBeenCalled()
17601758

17611759
onlineManager.setOnline(true)
1762-
await vi.waitFor(() =>
1763-
expect(queryCacheOnOnlineSpy).toHaveBeenCalledTimes(1),
1764-
)
1760+
await vi.advanceTimersByTimeAsync(0)
1761+
expect(queryCacheOnOnlineSpy).toHaveBeenCalledTimes(1)
17651762

17661763
expect(mutationCacheResumePausedMutationsSpy).toHaveBeenCalledTimes(1)
17671764

@@ -1787,17 +1784,14 @@ describe('queryClient', () => {
17871784
void observer1.mutate()
17881785
void observer2.mutate()
17891786

1790-
await vi.waitFor(() => {
1791-
expect(observer1.getCurrentResult().isPaused).toBeTruthy()
1792-
expect(observer2.getCurrentResult().isPaused).toBeTruthy()
1793-
})
1787+
expect(observer1.getCurrentResult().isPaused).toBeTruthy()
1788+
expect(observer2.getCurrentResult().isPaused).toBeTruthy()
17941789

17951790
onlineManager.setOnline(true)
17961791

1797-
await vi.waitFor(() => {
1798-
expect(observer1.getCurrentResult().status).toBe('success')
1799-
expect(observer2.getCurrentResult().status).toBe('success')
1800-
})
1792+
await vi.advanceTimersByTimeAsync(0)
1793+
expect(observer1.getCurrentResult().status).toBe('success')
1794+
expect(observer2.getCurrentResult().status).toBe('success')
18011795
})
18021796

18031797
test('should resume paused mutations in parallel', async () => {
@@ -1825,17 +1819,14 @@ describe('queryClient', () => {
18251819
void observer1.mutate()
18261820
void observer2.mutate()
18271821

1828-
await vi.waitFor(() => {
1829-
expect(observer1.getCurrentResult().isPaused).toBeTruthy()
1830-
expect(observer2.getCurrentResult().isPaused).toBeTruthy()
1831-
})
1822+
expect(observer1.getCurrentResult().isPaused).toBeTruthy()
1823+
expect(observer2.getCurrentResult().isPaused).toBeTruthy()
18321824

18331825
onlineManager.setOnline(true)
18341826

1835-
await vi.waitFor(() => {
1836-
expect(observer1.getCurrentResult().status).toBe('success')
1837-
expect(observer2.getCurrentResult().status).toBe('success')
1838-
})
1827+
await vi.advanceTimersByTimeAsync(50)
1828+
expect(observer1.getCurrentResult().status).toBe('success')
1829+
expect(observer2.getCurrentResult().status).toBe('success')
18391830

18401831
expect(orders).toEqual(['1start', '2start', '2end', '1end'])
18411832
})
@@ -1873,18 +1864,15 @@ describe('queryClient', () => {
18731864
void observer1.mutate()
18741865
void observer2.mutate()
18751866

1876-
await vi.waitFor(() => {
1877-
expect(observer1.getCurrentResult().isPaused).toBeTruthy()
1878-
expect(observer2.getCurrentResult().isPaused).toBeTruthy()
1879-
})
1867+
expect(observer1.getCurrentResult().isPaused).toBeTruthy()
1868+
expect(observer2.getCurrentResult().isPaused).toBeTruthy()
18801869

18811870
onlineManager.setOnline(true)
18821871
void queryClient.resumePausedMutations()
18831872

1884-
await vi.waitFor(() => {
1885-
expect(observer1.getCurrentResult().status).toBe('success')
1886-
expect(observer2.getCurrentResult().status).toBe('success')
1887-
})
1873+
await vi.advanceTimersByTimeAsync(70)
1874+
expect(observer1.getCurrentResult().status).toBe('success')
1875+
expect(observer2.getCurrentResult().status).toBe('success')
18881876

18891877
expect(orders).toEqual(['1start', '1end', '2start', '2end'])
18901878
})
@@ -1909,9 +1897,8 @@ describe('queryClient', () => {
19091897

19101898
onlineManager.setOnline(true)
19111899

1912-
await vi.waitFor(() => {
1913-
expect(observer.getCurrentResult().status).toBe('success')
1914-
})
1900+
await vi.advanceTimersByTimeAsync(0)
1901+
expect(observer.getCurrentResult().status).toBe('success')
19151902
})
19161903

19171904
test('should resumePausedMutations when coming online after having restored cache (and resumed) while offline', async () => {
@@ -1950,11 +1937,10 @@ describe('queryClient', () => {
19501937

19511938
onlineManager.setOnline(true)
19521939

1953-
await vi.waitFor(() => {
1954-
expect(
1955-
newQueryClient.getMutationCache().getAll()[0]?.state.status,
1956-
).toBe('success')
1957-
})
1940+
await vi.advanceTimersByTimeAsync(0)
1941+
expect(newQueryClient.getMutationCache().getAll()[0]?.state.status).toBe(
1942+
'success',
1943+
)
19581944

19591945
newQueryClient.unmount()
19601946
})
@@ -1977,9 +1963,8 @@ describe('queryClient', () => {
19771963

19781964
const unsubscribe = queryObserver.subscribe(() => undefined)
19791965

1980-
await vi.waitFor(() => {
1981-
expect(queryClient.getQueryData(key)).toBe('data1')
1982-
})
1966+
await vi.advanceTimersByTimeAsync(10)
1967+
expect(queryClient.getQueryData(key)).toBe('data1')
19831968

19841969
onlineManager.setOnline(false)
19851970

@@ -2022,21 +2007,13 @@ describe('queryClient', () => {
20222007

20232008
void observer3.mutate()
20242009

2025-
await vi.waitFor(() =>
2026-
expect(observer.getCurrentResult().isPaused).toBeTruthy(),
2027-
)
2028-
await vi.waitFor(() =>
2029-
expect(observer2.getCurrentResult().isPaused).toBeTruthy(),
2030-
)
2031-
await vi.waitFor(() =>
2032-
expect(observer3.getCurrentResult().isPaused).toBeTruthy(),
2033-
)
2034-
2010+
expect(observer.getCurrentResult().isPaused).toBeTruthy()
2011+
expect(observer2.getCurrentResult().isPaused).toBeTruthy()
2012+
expect(observer3.getCurrentResult().isPaused).toBeTruthy()
20352013
onlineManager.setOnline(true)
20362014

2037-
await vi.waitFor(() => {
2038-
expect(queryClient.getQueryData(key)).toBe('data2')
2039-
})
2015+
await vi.advanceTimersByTimeAsync(110)
2016+
expect(queryClient.getQueryData(key)).toBe('data2')
20402017

20412018
// refetch from coming online should happen after mutations have finished
20422019
expect(results).toStrictEqual([
@@ -2074,15 +2051,13 @@ describe('queryClient', () => {
20742051

20752052
onlineManager.setOnline(false)
20762053
onlineManager.setOnline(true)
2077-
await vi.waitFor(() =>
2078-
expect(queryCacheOnOnlineSpy).toHaveBeenCalledTimes(1),
2079-
)
2054+
await vi.advanceTimersByTimeAsync(0)
2055+
expect(queryCacheOnOnlineSpy).toHaveBeenCalledTimes(1)
20802056
expect(mutationCacheResumePausedMutationsSpy).toHaveBeenCalledTimes(1)
20812057

20822058
focusManager.setFocused(true)
2083-
await vi.waitFor(() =>
2084-
expect(queryCacheOnFocusSpy).toHaveBeenCalledTimes(1),
2085-
)
2059+
await vi.advanceTimersByTimeAsync(0)
2060+
expect(queryCacheOnFocusSpy).toHaveBeenCalledTimes(1)
20862061
expect(mutationCacheResumePausedMutationsSpy).toHaveBeenCalledTimes(2)
20872062

20882063
queryCacheOnFocusSpy.mockRestore()

0 commit comments

Comments
 (0)