FormidableLabs / freactal

Clean and robust state management for React and React-like libs.
MIT License
1.65k stars 46 forks source link

middleware not executing in Jest #101

Open bingomanatee opened 6 years ago

bingomanatee commented 6 years ago

I have middleware that preserves values into local storage; it does not appear to fire up when events are called in a jest test.

   middleware: [
          (context) => { // save select values into session
            console.log(' >>>>> middleware: context', context);
            if (sessionStorage && context.state) {
              for (let def of LOAD_STATES) {
                putInSession(def.name, context.state[def.name] || null, def.type);
              }
            }
            return context;
          }
        ]

and in the test:

it('should set palette to a value', async () => {
        expect.assertions(2);

        await effects.choosePalette('black');
        await Promise.resolve();
        let state = getState();
        expect(state.palette).toEqual('black');
        console.log('mock store', mockStore); // an object my storageState uses to catch results of a mock local storage)
        expect(mockStore.palette).toEqual('black');
      });

this console.log(' >>>>> middleware: context', context); is not being called.