File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
packages/query-core/src/__tests__ Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -1233,4 +1233,35 @@ describe('queryObserver', () => {
12331233
12341234 unsubscribe ( )
12351235 } )
1236+
1237+ test ( 'switching enabled state should reuse the same promise' , async ( ) => {
1238+ const key = queryKey ( )
1239+
1240+ const observer = new QueryObserver ( queryClient , {
1241+ queryKey : key ,
1242+ enabled : false ,
1243+ queryFn : ( ) => 'data' ,
1244+ } )
1245+ const results : Array < QueryObserverResult > = [ ]
1246+
1247+
1248+ const unsubscribe = observer . subscribe ( ( result ) => {
1249+ results . push ( result )
1250+ } )
1251+
1252+ await sleep ( 1 )
1253+
1254+ observer . setOptions ( { queryKey : key , queryFn : ( ) => 'data' , enabled : true } )
1255+
1256+
1257+ await waitFor ( ( ) => {
1258+ expect ( results . at ( - 1 ) ?. status ) . toBe ( 'success' )
1259+ } )
1260+
1261+ unsubscribe ( )
1262+
1263+
1264+ const promises = new Set ( results . map ( ( result ) => result . promise ) )
1265+ expect ( promises . size ) . toBe ( 1 )
1266+ } )
12361267} )
You can’t perform that action at this time.
0 commit comments