import { test, expect } from 'vitest'; import u from 'updeep'; import { Updux } from '../src/index.js'; const todos = new Updux({ initial: [], actions: { setNbrTodos: null, addTodo: null, }, mutations: { addTodo: todo => todos => [ ...todos, todo ], }, reactions: [ ({dispatch}) => todos => dispatch.setNbrTodos(todos.length) ], }); const myDux = new Updux({ initial: { nbrTodos: 0 }, subduxes: { todos, }, mutations: { setNbrTodos: nbrTodos => u({ nbrTodos }) } }); test( "basic tests", async () => { const store = myDux.createStore(); store.dispatch.addTodo('one'); store.dispatch.addTodo('two'); expect(store.getState().nbrTodos).toEqual(2); });