2020-02-04 17:02:28 +00:00
|
|
|
import { action } from 'ts-action';
|
2020-06-02 20:00:48 +00:00
|
|
|
import tap from 'tap';
|
2020-02-04 17:02:28 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
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-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
|
|
|
});
|