@ngstato/testing
v0.4.0
Published
ngStato — Test utilities: createMockStore, state overrides, action spies
Downloads
29
Maintainers
Readme
@ngstato/testing
Unit test your stores without HTTP, timers, or side effects.
createMockStore() — real store mechanics, full test control.
Install
npm install -D @ngstato/testingUsage
import { createMockStore } from '@ngstato/testing'
const store = createMockStore({
count: 0,
actions: {
inc(state) { state.count++ },
add(state, n: number) { state.count += n }
},
selectors: {
doubled: (s) => s.count * 2
}
})
// Test actions
await store.inc()
expect(store.count).toBe(1)
expect(store.doubled).toBe(2)
// Set state directly — skip actions
store.__setState({ count: 100 })
expect(store.doubled).toBe(200)
// Dispatch by name
await store.__dispatch('add', 5)
expect(store.count).toBe(105)Mock actions for isolation
import { vi } from 'vitest'
const store = createMockStore(config, {
initialState: { users: [{ id: 1 }] },
actions: { loadUsers: vi.fn() } // no HTTP call
})
await store.loadUsers()
expect(store.loadUsers).toHaveBeenCalled()API
| Method | Description |
|:--|:--|
| createMockStore(config, opts?) | Create a real store with test helpers |
| store.__setState(partial) | Set state directly (bypass actions) |
| store.__dispatch(name, ...args) | Dispatch action by string name |
| store.getState() | Get full state snapshot |
| store.subscribe(fn) | Subscribe to state changes |
📖 Full documentation →
License
MIT
