updux/src/addMutations.test.ts

23 lines
475 B
TypeScript
Raw Normal View History

import { action } from 'ts-action';
import Updux 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
const add = action("add", (n: number) => ({ payload: { 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
});