2020-02-04 17:02:28 +00:00
|
|
|
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
|
|
|
|
2020-02-04 17:02:28 +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
|
|
|
});
|