@@ -969,4 +969,50 @@ describe('createQueries', () => {
969969
970970 vi . useRealTimers ( )
971971 } )
972+
973+ it ( 'should not fetch queries with different durations for the duration of the restoring period when isRestoring is true' , async ( ) => {
974+ vi . useFakeTimers ( )
975+
976+ const queryFn1 = vi . fn ( ( ) => sleep ( 10 ) . then ( ( ) => 'data1' ) )
977+ const queryFn2 = vi . fn ( ( ) => sleep ( 20 ) . then ( ( ) => 'data2' ) )
978+
979+ const rendered = render ( IsRestoringExample , {
980+ props : { queryFn1, queryFn2 } ,
981+ } )
982+
983+ await vi . advanceTimersByTimeAsync ( 0 )
984+
985+ expect ( rendered . getByTestId ( 'status1' ) ) . toHaveTextContent ( 'pending' )
986+ expect ( rendered . getByTestId ( 'status2' ) ) . toHaveTextContent ( 'pending' )
987+ expect ( rendered . getByTestId ( 'fetchStatus1' ) ) . toHaveTextContent ( 'idle' )
988+ expect ( rendered . getByTestId ( 'fetchStatus2' ) ) . toHaveTextContent ( 'idle' )
989+ expect ( rendered . getByTestId ( 'data1' ) ) . toHaveTextContent ( 'undefined' )
990+ expect ( rendered . getByTestId ( 'data2' ) ) . toHaveTextContent ( 'undefined' )
991+ expect ( queryFn1 ) . toHaveBeenCalledTimes ( 0 )
992+ expect ( queryFn2 ) . toHaveBeenCalledTimes ( 0 )
993+
994+ await vi . advanceTimersByTimeAsync ( 11 )
995+
996+ expect ( rendered . getByTestId ( 'status1' ) ) . toHaveTextContent ( 'pending' )
997+ expect ( rendered . getByTestId ( 'status2' ) ) . toHaveTextContent ( 'pending' )
998+ expect ( rendered . getByTestId ( 'fetchStatus1' ) ) . toHaveTextContent ( 'idle' )
999+ expect ( rendered . getByTestId ( 'fetchStatus2' ) ) . toHaveTextContent ( 'idle' )
1000+ expect ( rendered . getByTestId ( 'data1' ) ) . toHaveTextContent ( 'undefined' )
1001+ expect ( rendered . getByTestId ( 'data2' ) ) . toHaveTextContent ( 'undefined' )
1002+ expect ( queryFn1 ) . toHaveBeenCalledTimes ( 0 )
1003+ expect ( queryFn2 ) . toHaveBeenCalledTimes ( 0 )
1004+
1005+ await vi . advanceTimersByTimeAsync ( 10 )
1006+
1007+ expect ( rendered . getByTestId ( 'status1' ) ) . toHaveTextContent ( 'pending' )
1008+ expect ( rendered . getByTestId ( 'status2' ) ) . toHaveTextContent ( 'pending' )
1009+ expect ( rendered . getByTestId ( 'fetchStatus1' ) ) . toHaveTextContent ( 'idle' )
1010+ expect ( rendered . getByTestId ( 'fetchStatus2' ) ) . toHaveTextContent ( 'idle' )
1011+ expect ( rendered . getByTestId ( 'data1' ) ) . toHaveTextContent ( 'undefined' )
1012+ expect ( rendered . getByTestId ( 'data2' ) ) . toHaveTextContent ( 'undefined' )
1013+ expect ( queryFn1 ) . toHaveBeenCalledTimes ( 0 )
1014+ expect ( queryFn2 ) . toHaveBeenCalledTimes ( 0 )
1015+
1016+ vi . useRealTimers ( )
1017+ } )
9721018} )
0 commit comments