updux/src/addMutations.test.ts

21 lines
450 B
TypeScript
Raw Normal View History

2020-01-02 18:53:24 +00:00
import Updux, { actionCreator } from "./updux";
2019-11-05 01:34:14 +00:00
type MyState = {
2020-01-02 18:53:24 +00:00
sum: number;
};
2019-11-05 01:34:14 +00:00
2020-01-02 18:53:24 +00:00
test("added mutation is present", () => {
const updux = new Updux<MyState>({
initial: { sum: 0 }
});
2019-11-05 01:34:14 +00:00
2020-01-02 18:53:24 +00:00
const add = actionCreator("add", (n: number) => ({ n }));
2019-11-05 01:34:14 +00:00
2020-01-02 18:53:24 +00:00
updux.addMutation(add, ({ n }, action) => ({ sum }) => ({ sum: sum + n }));
2019-11-05 01:34:14 +00:00
2020-01-02 18:53:24 +00:00
const store = updux.createStore();
store.dispatch.add(3);
expect(store.getState()).toEqual({ sum: 3 });
2019-11-05 01:34:14 +00:00
});