From f2d7746f37b9752e0b8c5010ec7c095e048842c6 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sat, 26 Jul 2025 14:43:43 +0900 Subject: [PATCH 1/2] test(svelte-query/createQueries): simplify 'queryFn' and use precise time in 'advanceTimersByTimeAsync' --- .../tests/createQueries/CombineExample.svelte | 5 +---- .../tests/createQueries/createQueries.test.ts | 16 ++++------------ 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/packages/svelte-query/tests/createQueries/CombineExample.svelte b/packages/svelte-query/tests/createQueries/CombineExample.svelte index 0d1ac9c531..a52cc70c42 100644 --- a/packages/svelte-query/tests/createQueries/CombineExample.svelte +++ b/packages/svelte-query/tests/createQueries/CombineExample.svelte @@ -11,10 +11,7 @@ { queries: ids.map((id) => ({ queryKey: [id], - queryFn: async () => { - await sleep(5) - return id - }, + queryFn: () => sleep(10).then(() => id), })), combine: (results) => { return { diff --git a/packages/svelte-query/tests/createQueries/createQueries.test.ts b/packages/svelte-query/tests/createQueries/createQueries.test.ts index 87cd7c24a2..f6068e093e 100644 --- a/packages/svelte-query/tests/createQueries/createQueries.test.ts +++ b/packages/svelte-query/tests/createQueries/createQueries.test.ts @@ -21,17 +21,11 @@ describe('createQueries', () => { queries: [ { queryKey: ['key-1'], - queryFn: async () => { - await sleep(5) - return 'Success 1' - }, + queryFn: () => sleep(10).then(() => 'Success 1'), }, { queryKey: ['key-2'], - queryFn: async () => { - await sleep(5) - return 'Success 2' - }, + queryFn: () => sleep(10).then(() => 'Success 2'), }, ], }, @@ -39,11 +33,10 @@ describe('createQueries', () => { }, }) - await vi.advanceTimersByTimeAsync(0) expect(rendered.getByText('Status 1: pending')).toBeInTheDocument() expect(rendered.getByText('Status 2: pending')).toBeInTheDocument() - await vi.advanceTimersByTimeAsync(6) + await vi.advanceTimersByTimeAsync(11) expect(rendered.getByText('Status 1: success')).toBeInTheDocument() expect(rendered.getByText('Status 2: success')).toBeInTheDocument() }) @@ -55,10 +48,9 @@ describe('createQueries', () => { }, }) - await vi.advanceTimersByTimeAsync(0) expect(rendered.getByText('isPending: true')).toBeInTheDocument() - await vi.advanceTimersByTimeAsync(6) + await vi.advanceTimersByTimeAsync(11) expect(rendered.getByText('Data: 1,2,3')).toBeInTheDocument() }) }) From aeedf7636a52e59f495750ef5441917631758c33 Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Sat, 26 Jul 2025 21:59:20 +0900 Subject: [PATCH 2/2] test(svelte-query/createQueries): add test for success when queries reslove at different times --- .../tests/createQueries/createQueries.test.ts | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/packages/svelte-query/tests/createQueries/createQueries.test.ts b/packages/svelte-query/tests/createQueries/createQueries.test.ts index f6068e093e..5f1219aadd 100644 --- a/packages/svelte-query/tests/createQueries/createQueries.test.ts +++ b/packages/svelte-query/tests/createQueries/createQueries.test.ts @@ -41,6 +41,34 @@ describe('createQueries', () => { expect(rendered.getByText('Status 2: success')).toBeInTheDocument() }) + test('Render and wait for success when queries resolve at different times', async () => { + const rendered = render(BaseExample, { + props: { + options: { + queries: [ + { + queryKey: ['key-1'], + queryFn: () => sleep(10).then(() => 'Success 1'), + }, + { + queryKey: ['key-2'], + queryFn: () => sleep(20).then(() => 'Success 2'), + }, + ], + }, + queryClient: new QueryClient(), + }, + }) + + expect(rendered.getByText('Status 1: pending')).toBeInTheDocument() + expect(rendered.getByText('Status 2: pending')).toBeInTheDocument() + + await vi.advanceTimersByTimeAsync(11) + expect(rendered.getByText('Status 1: success')).toBeInTheDocument() + await vi.advanceTimersByTimeAsync(10) + expect(rendered.getByText('Status 2: success')).toBeInTheDocument() + }) + test('Combine queries', async () => { const rendered = render(CombineExample, { props: {