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'
3
4
import { get , writable } from 'svelte/store'
4
5
import BaseExample from './BaseExample.svelte'
5
6
import SelectExample from './SelectExample.svelte'
7
+ import ChangeClient from './ChangeClient.svelte'
6
8
import type { Writable } from 'svelte/store'
7
9
import type { QueryObserverResult } from '@tanstack/query-core'
8
10
@@ -15,7 +17,7 @@ describe('createInfiniteQuery', () => {
15
17
vi . useRealTimers ( )
16
18
} )
17
19
18
- test ( 'Return the correct states for a successful query', async ( ) => {
20
+ it ( 'should return the correct states for a successful query', async ( ) => {
19
21
const statesStore : Writable < Array < QueryObserverResult > > = writable ( [ ] )
20
22
21
23
const rendered = render ( BaseExample , {
@@ -104,7 +106,7 @@ describe('createInfiniteQuery', () => {
104
106
} )
105
107
} )
106
108
107
- test ( 'Select a part of the data', async ( ) => {
109
+ it ( 'should be able to select a part of the data', async ( ) => {
108
110
const statesStore : Writable < Array < QueryObserverResult > > = writable ( [ ] )
109
111
110
112
const rendered = render ( SelectExample , {
@@ -128,4 +130,25 @@ describe('createInfiniteQuery', () => {
128
130
isSuccess : true ,
129
131
} )
130
132
} )
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
+ } )
131
154
} )
0 commit comments