File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed
packages/query-core/src/__tests__ Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change @@ -1028,4 +1028,42 @@ describe('dehydration and rehydration', () => {
10281028 queryClient . clear ( )
10291029 hydrationClient . clear ( )
10301030 } )
1031+
1032+ test ( 'should overwrite query in cache if hydrated query is newer (with promise)' , async ( ) => {
1033+ // --- server ---
1034+
1035+ const serverQueryClient = createQueryClient ( {
1036+ defaultOptions : {
1037+ dehydrate : {
1038+ shouldDehydrateQuery : ( ) => true ,
1039+ } ,
1040+ } ,
1041+ } )
1042+
1043+ const promise = serverQueryClient . prefetchQuery ( {
1044+ queryKey : [ 'data' ] ,
1045+ queryFn : async ( ) => {
1046+ await sleep ( 10 )
1047+ return 'server data'
1048+ } ,
1049+ } )
1050+
1051+ const dehydrated = dehydrate ( serverQueryClient )
1052+
1053+ // --- client ---
1054+
1055+ const clientQueryClient = createQueryClient ( )
1056+
1057+ clientQueryClient . setQueryData ( [ 'data' ] , 'old data' , { updatedAt : 10 } )
1058+
1059+ hydrate ( clientQueryClient , dehydrated )
1060+
1061+ await promise
1062+ await waitFor ( ( ) =>
1063+ expect ( clientQueryClient . getQueryData ( [ 'data' ] ) ) . toBe ( 'server data' ) ,
1064+ )
1065+
1066+ clientQueryClient . clear ( )
1067+ serverQueryClient . clear ( )
1068+ } )
10311069} )
You can’t perform that action at this time.
0 commit comments