@tanstack/react-query 4.13.4 → 4.13.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/__tests__/useQuery.test.tsx +93 -41
package/package.json
CHANGED
|
@@ -873,20 +873,35 @@ describe('useQuery', () => {
|
|
|
873
873
|
|
|
874
874
|
states.push(state)
|
|
875
875
|
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
setActTimeout(() => {
|
|
880
|
-
remove()
|
|
881
|
-
rerender({})
|
|
882
|
-
}, 20)
|
|
883
|
-
}, [remove])
|
|
876
|
+
return (
|
|
877
|
+
<>
|
|
878
|
+
<div>{state.data}</div>
|
|
884
879
|
|
|
885
|
-
|
|
880
|
+
<button
|
|
881
|
+
onClick={() => {
|
|
882
|
+
state.remove()
|
|
883
|
+
rerender({})
|
|
884
|
+
}}
|
|
885
|
+
>
|
|
886
|
+
remove
|
|
887
|
+
</button>
|
|
888
|
+
</>
|
|
889
|
+
)
|
|
886
890
|
}
|
|
887
891
|
|
|
888
|
-
renderWithClient(queryClient, <Page />)
|
|
892
|
+
const rendered = renderWithClient(queryClient, <Page />)
|
|
893
|
+
|
|
894
|
+
await waitFor(() => {
|
|
895
|
+
rendered.getByText('data')
|
|
896
|
+
})
|
|
889
897
|
|
|
898
|
+
fireEvent.click(rendered.getByRole('button', { name: 'remove' }))
|
|
899
|
+
|
|
900
|
+
await waitFor(() => {
|
|
901
|
+
rendered.getByText('data')
|
|
902
|
+
})
|
|
903
|
+
|
|
904
|
+
// required to make sure no additional renders are happening after data is successfully fetched for the second time
|
|
890
905
|
await sleep(100)
|
|
891
906
|
|
|
892
907
|
expect(states.length).toBe(5)
|
|
@@ -1518,17 +1533,27 @@ describe('useQuery', () => {
|
|
|
1518
1533
|
|
|
1519
1534
|
states.push(state)
|
|
1520
1535
|
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
setCount(1)
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1536
|
+
return (
|
|
1537
|
+
<div>
|
|
1538
|
+
<button onClick={() => setCount(1)}>increment</button>
|
|
1539
|
+
<div>data: {state.data ?? 'undefined'}</div>
|
|
1540
|
+
<div>count: {count}</div>
|
|
1541
|
+
</div>
|
|
1542
|
+
)
|
|
1528
1543
|
}
|
|
1529
1544
|
|
|
1530
|
-
renderWithClient(queryClient, <Page />)
|
|
1545
|
+
const rendered = renderWithClient(queryClient, <Page />)
|
|
1546
|
+
|
|
1547
|
+
await waitFor(() => rendered.getByText('data: 0'))
|
|
1531
1548
|
|
|
1549
|
+
fireEvent.click(rendered.getByRole('button', { name: /increment/i }))
|
|
1550
|
+
|
|
1551
|
+
await waitFor(() => {
|
|
1552
|
+
rendered.getByText('count: 1')
|
|
1553
|
+
rendered.getByText('data: undefined')
|
|
1554
|
+
})
|
|
1555
|
+
|
|
1556
|
+
// making sure no additional fetches are triggered
|
|
1532
1557
|
await sleep(50)
|
|
1533
1558
|
|
|
1534
1559
|
expect(states.length).toBe(3)
|
|
@@ -1812,26 +1837,41 @@ describe('useQuery', () => {
|
|
|
1812
1837
|
|
|
1813
1838
|
states.push(state)
|
|
1814
1839
|
|
|
1815
|
-
|
|
1840
|
+
return (
|
|
1841
|
+
<div>
|
|
1842
|
+
<button onClick={() => state.refetch()}>refetch</button>
|
|
1843
|
+
<button onClick={() => setCount(1)}>setCount</button>
|
|
1844
|
+
<div>data: {state.data ?? 'undefined'}</div>
|
|
1845
|
+
</div>
|
|
1846
|
+
)
|
|
1847
|
+
}
|
|
1816
1848
|
|
|
1817
|
-
|
|
1818
|
-
refetch()
|
|
1849
|
+
const rendered = renderWithClient(queryClient, <Page />)
|
|
1819
1850
|
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1851
|
+
await waitFor(() => {
|
|
1852
|
+
rendered.getByText('data: undefined')
|
|
1853
|
+
})
|
|
1823
1854
|
|
|
1824
|
-
|
|
1825
|
-
refetch()
|
|
1826
|
-
}, 30)
|
|
1827
|
-
}, [refetch])
|
|
1855
|
+
fireEvent.click(rendered.getByRole('button', { name: 'refetch' }))
|
|
1828
1856
|
|
|
1829
|
-
|
|
1830
|
-
|
|
1857
|
+
await waitFor(() => {
|
|
1858
|
+
rendered.getByText('data: 0')
|
|
1859
|
+
})
|
|
1831
1860
|
|
|
1832
|
-
|
|
1861
|
+
fireEvent.click(rendered.getByRole('button', { name: 'setCount' }))
|
|
1833
1862
|
|
|
1834
|
-
await
|
|
1863
|
+
await waitFor(() => {
|
|
1864
|
+
rendered.getByText('data: 0')
|
|
1865
|
+
})
|
|
1866
|
+
|
|
1867
|
+
fireEvent.click(rendered.getByRole('button', { name: 'refetch' }))
|
|
1868
|
+
|
|
1869
|
+
await waitFor(() => {
|
|
1870
|
+
rendered.getByText('data: 1')
|
|
1871
|
+
})
|
|
1872
|
+
|
|
1873
|
+
// making sure no additional renders are triggered
|
|
1874
|
+
await sleep(20)
|
|
1835
1875
|
|
|
1836
1876
|
expect(states.length).toBe(6)
|
|
1837
1877
|
|
|
@@ -2194,19 +2234,31 @@ describe('useQuery', () => {
|
|
|
2194
2234
|
|
|
2195
2235
|
states.push(state)
|
|
2196
2236
|
|
|
2197
|
-
|
|
2237
|
+
return (
|
|
2238
|
+
<>
|
|
2239
|
+
<button
|
|
2240
|
+
onClick={async () => {
|
|
2241
|
+
await state.refetch()
|
|
2242
|
+
}}
|
|
2243
|
+
>
|
|
2244
|
+
refetch
|
|
2245
|
+
</button>
|
|
2198
2246
|
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
}, 10)
|
|
2203
|
-
}, [refetch])
|
|
2204
|
-
return null
|
|
2247
|
+
<div>{state.data}</div>
|
|
2248
|
+
</>
|
|
2249
|
+
)
|
|
2205
2250
|
}
|
|
2206
2251
|
|
|
2207
|
-
renderWithClient(queryClient, <Page />)
|
|
2252
|
+
const rendered = renderWithClient(queryClient, <Page />)
|
|
2208
2253
|
|
|
2209
|
-
await
|
|
2254
|
+
await waitFor(() => {
|
|
2255
|
+
rendered.getByText('test')
|
|
2256
|
+
})
|
|
2257
|
+
|
|
2258
|
+
fireEvent.click(rendered.getByRole('button', { name: 'refetch' }))
|
|
2259
|
+
|
|
2260
|
+
// sleep is required to make sure no additional renders happen after click
|
|
2261
|
+
await sleep(20)
|
|
2210
2262
|
|
|
2211
2263
|
expect(states.length).toBe(2)
|
|
2212
2264
|
expect(states[0]).toMatchObject({
|