@@ -17,18 +17,23 @@ import {
1717} from '..'
1818import { QueryCache } from '../index'
1919
20- describe ( 'useQuery().promise' , ( ) => {
20+ describe ( 'useQuery().promise' , { timeout : 10_000 } , ( ) => {
2121 const queryCache = new QueryCache ( )
2222 const queryClient = new QueryClient ( {
2323 queryCache,
2424 } )
2525
2626 beforeAll ( ( ) => {
27- vi . useFakeTimers ( { shouldAdvanceTime : true } )
27+ vi . useFakeTimers ( {
28+ shouldAdvanceTime : true ,
29+ toFake : [ 'setTimeout' , 'clearTimeout' , 'setInterval' , 'clearInterval' ] ,
30+ } )
2831 queryClient . setDefaultOptions ( {
2932 queries : { experimental_prefetchInRender : true } ,
3033 } )
3134 } )
35+
36+
3237 afterAll ( ( ) => {
3338 vi . useRealTimers ( )
3439 queryClient . setDefaultOptions ( {
@@ -866,13 +871,13 @@ describe('useQuery().promise', () => {
866871
867872 rendered . getByText ( 'cancel' ) . click ( )
868873
869- {
870- await renderStream . takeRender ( )
871- expect ( queryClient . getQueryState ( key ) ) . toMatchObject ( {
874+ await vi . waitFor ( ( ) => {
875+ const state = queryClient . getQueryState ( key )
876+ expect ( state ) . toMatchObject ( {
872877 status : 'pending' ,
873878 fetchStatus : 'idle' ,
874879 } )
875- }
880+ } )
876881
877882 expect ( queryFn ) . toHaveBeenCalledOnce ( )
878883
@@ -921,21 +926,26 @@ describe('useQuery().promise', () => {
921926 )
922927 }
923928
924- queryClient . setQueryData ( key , 'initial' )
925-
926929 const rendered = await renderStream . render (
927930 < QueryClientProvider client = { queryClient } >
928931 < Page />
929932 </ QueryClientProvider > ,
930933 )
931934
932- rendered . getByText ( 'cancel' ) . click ( )
933-
934935 {
935936 const { withinDOM } = await renderStream . takeRender ( )
936- withinDOM ( ) . getByText ( 'initial ' )
937+ withinDOM ( ) . getByText ( 'loading.. ' )
937938 }
938939
940+ queryClient . setQueryData ( key , 'initial' )
941+
942+ rendered . getByText ( 'cancel' ) . click ( )
943+
944+ await vi . waitFor ( ( ) => {
945+ const state = queryClient . getQueryState ( key )
946+ expect ( state ?. data ) . toBe ( 'initial' )
947+ } )
948+
939949 expect ( queryFn ) . toHaveBeenCalledTimes ( 1 )
940950 } )
941951
0 commit comments