Skip to content

Commit 98e3662

Browse files
authored
Merge branch 'main' into feature/react-query-mutation-options
2 parents 4adc529 + 4425423 commit 98e3662

File tree

24 files changed

+66
-123
lines changed

24 files changed

+66
-123
lines changed

packages/eslint-plugin-query/tsup.config.js renamed to packages/eslint-plugin-query/tsup.config.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
// @ts-check
2-
31
import { defineConfig } from 'tsup'
42
import { legacyConfig, modernConfig } from './root.tsup.config.js'
53

packages/query-async-storage-persister/tsup.config.js renamed to packages/query-async-storage-persister/tsup.config.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
// @ts-check
2-
31
import { defineConfig } from 'tsup'
42
import { legacyConfig, modernConfig } from './root.tsup.config.js'
53

packages/query-broadcast-client-experimental/tsup.config.js renamed to packages/query-broadcast-client-experimental/tsup.config.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
// @ts-check
2-
31
import { defineConfig } from 'tsup'
42
import { legacyConfig, modernConfig } from './root.tsup.config.js'
53

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ describe('InfiniteQueryBehavior', () => {
1919
vi.useRealTimers()
2020
})
2121

22-
test('InfiniteQueryBehavior should throw an error if the queryFn is not defined', async () => {
22+
test('should throw an error if the queryFn is not defined', async () => {
2323
const key = queryKey()
2424

2525
const observer = new InfiniteQueryObserver(queryClient, {
@@ -48,7 +48,7 @@ describe('InfiniteQueryBehavior', () => {
4848
unsubscribe()
4949
})
5050

51-
test('InfiniteQueryBehavior should apply the maxPages option to limit the number of pages', async () => {
51+
test('should apply the maxPages option to limit the number of pages', async () => {
5252
const key = queryKey()
5353
let abortSignal: AbortSignal | null = null
5454

@@ -197,7 +197,7 @@ describe('InfiniteQueryBehavior', () => {
197197
unsubscribe()
198198
})
199199

200-
test('InfiniteQueryBehavior should support query cancellation', async () => {
200+
test('should support query cancellation', async () => {
201201
const key = queryKey()
202202
let abortSignal: AbortSignal | null = null
203203

@@ -250,7 +250,7 @@ describe('InfiniteQueryBehavior', () => {
250250
unsubscribe()
251251
})
252252

253-
test('InfiniteQueryBehavior should not refetch pages if the query is cancelled', async () => {
253+
test('should not refetch pages if the query is cancelled', async () => {
254254
const key = queryKey()
255255
let abortSignal: AbortSignal | null = null
256256

@@ -334,7 +334,7 @@ describe('InfiniteQueryBehavior', () => {
334334
unsubscribe()
335335
})
336336

337-
test('InfiniteQueryBehavior should not enter an infinite loop when a page errors while retry is on #8046', async () => {
337+
test('should not enter an infinite loop when a page errors while retry is on #8046', async () => {
338338
let errorCount = 0
339339
const key = queryKey()
340340

@@ -436,7 +436,7 @@ describe('InfiniteQueryBehavior', () => {
436436
unsubscribe()
437437
})
438438

439-
test('InfiniteQueryBehavior should not fetch next page when getNextPageParam returns null', async () => {
439+
test('should not fetch next page when getNextPageParam returns null', async () => {
440440
const key = queryKey()
441441

442442
const observer = new InfiniteQueryObserver(queryClient, {
@@ -471,7 +471,7 @@ describe('InfiniteQueryBehavior', () => {
471471
unsubscribe()
472472
})
473473

474-
test('InfiniteQueryBehavior should use persister when provided', async () => {
474+
test('should use persister when provided', async () => {
475475
const key = queryKey()
476476

477477
const persisterSpy = vi.fn().mockImplementation(async (fn) => {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,7 @@ describe('mutations', () => {
533533
])
534534
})
535535

536-
test('each scope should run should run in parallel, serial within scope', async () => {
536+
test('each scope should run in parallel, serial within scope', async () => {
537537
const results: Array<string> = []
538538

539539
executeMutation(

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ describe('notifyManager', () => {
3939
})
4040
notifyManagerTest.batch(callbackBatchLevel1Spy)
4141

42-
await vi.advanceTimersByTimeAsync(20)
42+
await vi.advanceTimersByTimeAsync(0)
4343
expect(callbackBatchLevel1Spy).toHaveBeenCalledTimes(1)
4444
expect(callbackBatchLevel2Spy).toHaveBeenCalledTimes(1)
4545
expect(callbackScheduleSpy).toHaveBeenCalledTimes(1)
@@ -57,9 +57,7 @@ describe('notifyManager', () => {
5757

5858
expect(customCallback).toHaveBeenCalledOnce()
5959

60-
// wait until the microtask has run
61-
await new Promise<void>((res) => queueMicrotask(res))
62-
60+
await vi.advanceTimersByTimeAsync(0)
6361
expect(notifySpy).toHaveBeenCalledTimes(1)
6462
})
6563

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

Lines changed: 41 additions & 66 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 () => {
@@ -1023,7 +1022,7 @@ describe('queryClient', () => {
10231022
queryKey: key3,
10241023
queryFn: () => sleep(1000).then(() => 'data3'),
10251024
})
1026-
await vi.advanceTimersByTime(10)
1025+
await vi.advanceTimersByTimeAsync(10)
10271026
await queryClient.cancelQueries()
10281027
const state1 = queryClient.getQueryState(key1)
10291028
const state2 = queryClient.getQueryState(key2)
@@ -1556,7 +1555,7 @@ describe('queryClient', () => {
15561555
observer.subscribe(() => undefined)
15571556

15581557
queryClient.refetchQueries()
1559-
await vi.advanceTimersByTime(10)
1558+
await vi.advanceTimersByTimeAsync(10)
15601559
observer.destroy()
15611560
expect(abortFn).toHaveBeenCalledTimes(1)
15621561
expect(fetchCount).toBe(2)
@@ -1580,7 +1579,7 @@ describe('queryClient', () => {
15801579
observer.subscribe(() => undefined)
15811580

15821581
queryClient.refetchQueries(undefined, { cancelRefetch: false })
1583-
await vi.advanceTimersByTime(10)
1582+
await vi.advanceTimersByTimeAsync(10)
15841583
observer.destroy()
15851584
expect(abortFn).toHaveBeenCalledTimes(0)
15861585
expect(fetchCount).toBe(1)
@@ -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()

packages/query-core/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
"outDir": "./dist-ts",
55
"rootDir": "."
66
},
7-
"include": ["src", "*.config.js", "package.json"]
7+
"include": ["src", "*.config.js", "*.config.ts", "package.json"]
88
}

0 commit comments

Comments
 (0)