55  Action , 
66  Store 
77}  from  'redux' 
8+ import  {  vi  }  from  'vitest' 
89import  { 
910  addTodo , 
1011  dispatchInMiddle , 
@@ -205,8 +206,8 @@ describe('createStore', () => {
205206
206207  it ( 'supports multiple subscriptions' ,  ( )  =>  { 
207208    const  store  =  createStore ( reducers . todos ) 
208-     const  listenerA  =  jest . fn ( ) 
209-     const  listenerB  =  jest . fn ( ) 
209+     const  listenerA  =  vi . fn ( ) 
210+     const  listenerB  =  vi . fn ( ) 
210211
211212    let  unsubscribeA  =  store . subscribe ( listenerA ) 
212213    store . dispatch ( unknownAction ( ) ) 
@@ -252,8 +253,8 @@ describe('createStore', () => {
252253
253254  it ( 'only removes listener once when unsubscribe is called' ,  ( )  =>  { 
254255    const  store  =  createStore ( reducers . todos ) 
255-     const  listenerA  =  jest . fn ( ) 
256-     const  listenerB  =  jest . fn ( ) 
256+     const  listenerA  =  vi . fn ( ) 
257+     const  listenerB  =  vi . fn ( ) 
257258
258259    const  unsubscribeA  =  store . subscribe ( listenerA ) 
259260    store . subscribe ( listenerB ) 
@@ -268,7 +269,7 @@ describe('createStore', () => {
268269
269270  it ( 'only removes relevant listener when unsubscribe is called' ,  ( )  =>  { 
270271    const  store  =  createStore ( reducers . todos ) 
271-     const  listener  =  jest . fn ( ) 
272+     const  listener  =  vi . fn ( ) 
272273
273274    store . subscribe ( listener ) 
274275    const  unsubscribeSecond  =  store . subscribe ( listener ) 
@@ -282,9 +283,9 @@ describe('createStore', () => {
282283
283284  it ( 'supports removing a subscription within a subscription' ,  ( )  =>  { 
284285    const  store  =  createStore ( reducers . todos ) 
285-     const  listenerA  =  jest . fn ( ) 
286-     const  listenerB  =  jest . fn ( ) 
287-     const  listenerC  =  jest . fn ( ) 
286+     const  listenerA  =  vi . fn ( ) 
287+     const  listenerB  =  vi . fn ( ) 
288+     const  listenerC  =  vi . fn ( ) 
288289
289290    store . subscribe ( listenerA ) 
290291    const  unSubB  =  store . subscribe ( ( )  =>  { 
@@ -308,9 +309,9 @@ describe('createStore', () => {
308309    const  doUnsubscribeAll  =  ( )  => 
309310      unsubscribeHandles . forEach ( unsubscribe  =>  unsubscribe ( ) ) 
310311
311-     const  listener1  =  jest . fn ( ) 
312-     const  listener2  =  jest . fn ( ) 
313-     const  listener3  =  jest . fn ( ) 
312+     const  listener1  =  vi . fn ( ) 
313+     const  listener2  =  vi . fn ( ) 
314+     const  listener3  =  vi . fn ( ) 
314315
315316    unsubscribeHandles . push ( store . subscribe ( ( )  =>  listener1 ( ) ) ) 
316317    unsubscribeHandles . push ( 
@@ -335,9 +336,9 @@ describe('createStore', () => {
335336  it ( 'notifies only subscribers active at the moment of current dispatch' ,  ( )  =>  { 
336337    const  store  =  createStore ( reducers . todos ) 
337338
338-     const  listener1  =  jest . fn ( ) 
339-     const  listener2  =  jest . fn ( ) 
340-     const  listener3  =  jest . fn ( ) 
339+     const  listener1  =  vi . fn ( ) 
340+     const  listener2  =  vi . fn ( ) 
341+     const  listener3  =  vi . fn ( ) 
341342
342343    let  listener3Added  =  false 
343344    const  maybeAddThirdListener  =  ( )  =>  { 
@@ -367,10 +368,10 @@ describe('createStore', () => {
367368  it ( 'uses the last snapshot of subscribers during nested dispatch' ,  ( )  =>  { 
368369    const  store  =  createStore ( reducers . todos ) 
369370
370-     const  listener1  =  jest . fn ( ) 
371-     const  listener2  =  jest . fn ( ) 
372-     const  listener3  =  jest . fn ( ) 
373-     const  listener4  =  jest . fn ( ) 
371+     const  listener1  =  vi . fn ( ) 
372+     const  listener2  =  vi . fn ( ) 
373+     const  listener3  =  vi . fn ( ) 
374+     const  listener4  =  vi . fn ( ) 
374375
375376    let  unsubscribe4 : any 
376377    const  unsubscribe1  =  store . subscribe ( ( )  =>  { 
@@ -406,27 +407,41 @@ describe('createStore', () => {
406407    expect ( listener4 . mock . calls . length ) . toBe ( 1 ) 
407408  } ) 
408409
409-   it ( 'provides an up-to-date state when a subscriber is notified' ,  done  =>  { 
410+   it ( 'provides an up-to-date state when a subscriber is notified' ,  async   ( )  =>  { 
410411    const  store  =  createStore ( reducers . todos ) 
412+ 
413+     let  resolve : ( value : unknown )  =>  void =  ( )  =>  { } 
414+     let  promise  =  new  Promise ( _resolve  =>  { 
415+       resolve  =  _resolve 
416+     } ) 
411417    store . subscribe ( ( )  =>  { 
412-       expect ( store . getState ( ) ) . toEqual ( [ 
413-         { 
414-           id : 1 , 
415-           text : 'Hello' 
416-         } 
417-       ] ) 
418-       done ( ) 
418+       resolve ( store . getState ( ) ) 
419419    } ) 
420420    store . dispatch ( addTodo ( 'Hello' ) ) 
421+     const  state  =  await  promise 
422+ 
423+     expect ( state ) . toEqual ( [ 
424+       { 
425+         id : 1 , 
426+         text : 'Hello' 
427+       } 
428+     ] ) 
421429  } ) 
422430
423-   it ( 'does not leak private listeners array' ,  done  =>  { 
431+   it ( 'does not leak private listeners array' ,  async   ( )  =>  { 
424432    const  store  =  createStore ( reducers . todos ) 
433+     let  resolve : ( value : unknown )  =>  void =  ( )  =>  { } 
434+     let  promise  =  new  Promise ( _resolve  =>  { 
435+       resolve  =  _resolve 
436+     } ) 
437+ 
425438    store . subscribe ( function  ( this : any )  { 
426-       expect ( this ) . toBe ( undefined ) 
427-       done ( ) 
439+       resolve ( this ) 
428440    } ) 
429441    store . dispatch ( addTodo ( 'Hello' ) ) 
442+     const  result  =  await  promise 
443+ 
444+     expect ( result ) . toBe ( undefined ) 
430445  } ) 
431446
432447  it ( 'only accepts plain object actions' ,  ( )  =>  { 
@@ -575,7 +590,7 @@ describe('createStore', () => {
575590        const  vanillaStore  =  vanillaCreateStore ( ...args ) 
576591        return  { 
577592          ...vanillaStore , 
578-           dispatch : jest . fn ( vanillaStore . dispatch ) 
593+           dispatch : vi . fn ( vanillaStore . dispatch ) 
579594        } 
580595      } 
581596
@@ -601,7 +616,7 @@ describe('createStore', () => {
601616        const  vanillaStore  =  vanillaCreateStore ( ...args ) 
602617        return  { 
603618          ...vanillaStore , 
604-           dispatch : jest . fn ( vanillaStore . dispatch ) 
619+           dispatch : vi . fn ( vanillaStore . dispatch ) 
605620        } 
606621      } 
607622
@@ -827,7 +842,7 @@ describe('createStore', () => {
827842
828843  it ( 'does not log an error if parts of the current state will be ignored by a nextReducer using combineReducers' ,  ( )  =>  { 
829844    const  originalConsoleError  =  console . error 
830-     console . error  =  jest . fn ( ) 
845+     console . error  =  vi . fn ( ) 
831846
832847    const  store  =  createStore ( 
833848      combineReducers < {  x ?: number ;  y : {  z : number ;  w ?: number  }  } > ( { 
0 commit comments