goatslacker / alt

Isomorphic flux implementation
http://alt.js.org/
3.45k stars 321 forks source link

Different tests competing in modifying the store #711

Open darrenchiu opened 7 years ago

darrenchiu commented 7 years ago

I am trying to write some tests for my store but I found that different tests are competing in modifying the same store instance so my assertions are mostly failing when I run them together while each of them can pass if I run them one by one. How should I resolve this?

Below show an example, while the "SOME_ACTION" would not change the value of amount

it('test 1', done => {
  AltClaimFormStore.state.amount = 12.3;

  var action = ClaimFormActions.SOME_ACTION;
  alt.dispatcher.dispatch({ action });

  AltClaimFormStore.listen(function () {
    if (!AltClaimFormStore.state.isUpdating) {
      expect(AltClaimFormStore.state.amount).toBe(12.3);
      done();
    }
  });
});

it('test 2', done => {
  AltClaimFormStore.state.amount = 12.4;

  var action = ClaimFormActions.SOME_ACTION;
  alt.dispatcher.dispatch({ action });

  AltClaimFormStore.listen(function () {
    if (!AltClaimFormStore.state.isUpdating) {
      expect(AltClaimFormStore.state.amount).toBe(12.4);
      done();
    }
  });
});