Skip to content

Commit 4b2cd73

Browse files
authored
test(svelte-query/createQueries): add test for not fetching queries with different durations when 'isRestoring' is true (#10387)
1 parent 422a997 commit 4b2cd73

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

packages/svelte-query/tests/createQueries/createQueries.svelte.test.ts

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -969,4 +969,50 @@ describe('createQueries', () => {
969969

970970
vi.useRealTimers()
971971
})
972+
973+
it('should not fetch queries with different durations for the duration of the restoring period when isRestoring is true', async () => {
974+
vi.useFakeTimers()
975+
976+
const queryFn1 = vi.fn(() => sleep(10).then(() => 'data1'))
977+
const queryFn2 = vi.fn(() => sleep(20).then(() => 'data2'))
978+
979+
const rendered = render(IsRestoringExample, {
980+
props: { queryFn1, queryFn2 },
981+
})
982+
983+
await vi.advanceTimersByTimeAsync(0)
984+
985+
expect(rendered.getByTestId('status1')).toHaveTextContent('pending')
986+
expect(rendered.getByTestId('status2')).toHaveTextContent('pending')
987+
expect(rendered.getByTestId('fetchStatus1')).toHaveTextContent('idle')
988+
expect(rendered.getByTestId('fetchStatus2')).toHaveTextContent('idle')
989+
expect(rendered.getByTestId('data1')).toHaveTextContent('undefined')
990+
expect(rendered.getByTestId('data2')).toHaveTextContent('undefined')
991+
expect(queryFn1).toHaveBeenCalledTimes(0)
992+
expect(queryFn2).toHaveBeenCalledTimes(0)
993+
994+
await vi.advanceTimersByTimeAsync(11)
995+
996+
expect(rendered.getByTestId('status1')).toHaveTextContent('pending')
997+
expect(rendered.getByTestId('status2')).toHaveTextContent('pending')
998+
expect(rendered.getByTestId('fetchStatus1')).toHaveTextContent('idle')
999+
expect(rendered.getByTestId('fetchStatus2')).toHaveTextContent('idle')
1000+
expect(rendered.getByTestId('data1')).toHaveTextContent('undefined')
1001+
expect(rendered.getByTestId('data2')).toHaveTextContent('undefined')
1002+
expect(queryFn1).toHaveBeenCalledTimes(0)
1003+
expect(queryFn2).toHaveBeenCalledTimes(0)
1004+
1005+
await vi.advanceTimersByTimeAsync(10)
1006+
1007+
expect(rendered.getByTestId('status1')).toHaveTextContent('pending')
1008+
expect(rendered.getByTestId('status2')).toHaveTextContent('pending')
1009+
expect(rendered.getByTestId('fetchStatus1')).toHaveTextContent('idle')
1010+
expect(rendered.getByTestId('fetchStatus2')).toHaveTextContent('idle')
1011+
expect(rendered.getByTestId('data1')).toHaveTextContent('undefined')
1012+
expect(rendered.getByTestId('data2')).toHaveTextContent('undefined')
1013+
expect(queryFn1).toHaveBeenCalledTimes(0)
1014+
expect(queryFn2).toHaveBeenCalledTimes(0)
1015+
1016+
vi.useRealTimers()
1017+
})
9721018
})

0 commit comments

Comments
 (0)