1- import { afterEach , beforeEach , describe , expect , test , vi } from 'vitest'
2- import { render } from '@testing-library/svelte'
1+ import { afterEach , beforeEach , describe , expect , it , vi } from 'vitest'
2+ import { QueryClient } from '@tanstack/query-core'
3+ import { fireEvent , render } from '@testing-library/svelte'
34import { get , writable } from 'svelte/store'
45import BaseExample from './BaseExample.svelte'
56import SelectExample from './SelectExample.svelte'
7+ import ChangeClient from './ChangeClient.svelte'
68import type { Writable } from 'svelte/store'
79import type { QueryObserverResult } from '@tanstack/query-core'
810
@@ -15,7 +17,7 @@ describe('createInfiniteQuery', () => {
1517 vi . useRealTimers ( )
1618 } )
1719
18- test ( 'Return the correct states for a successful query', async ( ) => {
20+ it ( 'should return the correct states for a successful query', async ( ) => {
1921 const statesStore : Writable < Array < QueryObserverResult > > = writable ( [ ] )
2022
2123 const rendered = render ( BaseExample , {
@@ -104,7 +106,7 @@ describe('createInfiniteQuery', () => {
104106 } )
105107 } )
106108
107- test ( 'Select a part of the data', async ( ) => {
109+ it ( 'should be able to select a part of the data', async ( ) => {
108110 const statesStore : Writable < Array < QueryObserverResult > > = writable ( [ ] )
109111
110112 const rendered = render ( SelectExample , {
@@ -128,4 +130,25 @@ describe('createInfiniteQuery', () => {
128130 isSuccess : true ,
129131 } )
130132 } )
133+
134+ it ( 'should be able to set new pages with the query client' , async ( ) => {
135+ const queryClient = new QueryClient ( )
136+
137+ const rendered = render ( ChangeClient , {
138+ props : {
139+ queryClient,
140+ } ,
141+ } )
142+
143+ await vi . advanceTimersByTimeAsync ( 11 )
144+ expect (
145+ rendered . getByText ( 'Data: {"pages":[0],"pageParams":[0]}' ) ,
146+ ) . toBeInTheDocument ( )
147+
148+ fireEvent . click ( rendered . getByRole ( 'button' , { name : / s e t P a g e s / i } ) )
149+ await vi . advanceTimersByTimeAsync ( 11 )
150+ expect (
151+ rendered . getByText ( 'Data: {"pages":[7,8],"pageParams":[7,8]}' ) ,
152+ ) . toBeInTheDocument ( )
153+ } )
131154} )
0 commit comments