diff --git a/packages/svelte-query/tests/createInfiniteQuery/ChangeClient.svelte b/packages/svelte-query/tests/createInfiniteQuery/ChangeClient.svelte new file mode 100644 index 0000000000..a5d547c35c --- /dev/null +++ b/packages/svelte-query/tests/createInfiniteQuery/ChangeClient.svelte @@ -0,0 +1,35 @@ + + + + +
Data: {JSON.stringify($query.data)}
diff --git a/packages/svelte-query/tests/createInfiniteQuery/createInfiniteQuery.test.ts b/packages/svelte-query/tests/createInfiniteQuery/createInfiniteQuery.test.ts index f01e3bac04..14c263e2a2 100644 --- a/packages/svelte-query/tests/createInfiniteQuery/createInfiniteQuery.test.ts +++ b/packages/svelte-query/tests/createInfiniteQuery/createInfiniteQuery.test.ts @@ -1,8 +1,10 @@ -import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest' -import { render } from '@testing-library/svelte' +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' +import { QueryClient } from '@tanstack/query-core' +import { fireEvent, render } from '@testing-library/svelte' import { get, writable } from 'svelte/store' import BaseExample from './BaseExample.svelte' import SelectExample from './SelectExample.svelte' +import ChangeClient from './ChangeClient.svelte' import type { Writable } from 'svelte/store' import type { QueryObserverResult } from '@tanstack/query-core' @@ -15,7 +17,7 @@ describe('createInfiniteQuery', () => { vi.useRealTimers() }) - test('Return the correct states for a successful query', async () => { + it('should return the correct states for a successful query', async () => { const statesStore: Writable> = writable([]) const rendered = render(BaseExample, { @@ -104,7 +106,7 @@ describe('createInfiniteQuery', () => { }) }) - test('Select a part of the data', async () => { + it('should be able to select a part of the data', async () => { const statesStore: Writable> = writable([]) const rendered = render(SelectExample, { @@ -128,4 +130,25 @@ describe('createInfiniteQuery', () => { isSuccess: true, }) }) + + it('should be able to set new pages with the query client', async () => { + const queryClient = new QueryClient() + + const rendered = render(ChangeClient, { + props: { + queryClient, + }, + }) + + await vi.advanceTimersByTimeAsync(11) + expect( + rendered.getByText('Data: {"pages":[0],"pageParams":[0]}'), + ).toBeInTheDocument() + + fireEvent.click(rendered.getByRole('button', { name: /setPages/i })) + await vi.advanceTimersByTimeAsync(11) + expect( + rendered.getByText('Data: {"pages":[7,8],"pageParams":[7,8]}'), + ).toBeInTheDocument() + }) })