updux/src/addMutations.test.ts

26 lines
496 B
TypeScript
Raw Normal View History

import { action } from 'ts-action';
2020-06-02 20:00:48 +00:00
import tap from 'tap';
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-06-02 20:00:48 +00:00
tap.test("added mutation is present", t => {
2020-01-02 18:53:24 +00:00
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-06-02 20:00:48 +00:00
updux.addMutation(add, ({ n }) => ({ sum }) => ({ sum: sum + n }));
2019-11-05 01:34:14 +00:00
2020-01-02 18:53:24 +00:00
const store = updux.createStore();
2020-06-02 20:00:48 +00:00
store.dispatch(add(3));
2020-01-02 18:53:24 +00:00
2020-06-02 20:00:48 +00:00
t.same(store.getState(), {sum: 3});
t.end();
2019-11-05 01:34:14 +00:00
});