-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
stores; Zustand stores
// store/simulationStore.ts
import { create } from 'zustand'
interface SimulationStore {
simulation: Simulation | null
addClusterForce: () => void
removeForce: (id: string) => void
}
export const useSimulationStore = create<SimulationStore>((set) => ({
simulation: null,
addClusterForce: () => {
set((state) => ({
simulation: state.simulation?.addForce('cluster')
}))
},
removeForce: (id: string) => {
set((state) => ({
simulation: state.simulation?.removeForce(id)
}))
}
}))
// test/simulation.test.ts
describe('Simulation Store', () => {
it('should add cluster force', () => {
const store = useSimulationStore.getState()
store.simulation = mockSimulation
store.addClusterForce() // ← UNRESOLVED: store.addClusterForce -[CALLS]-> addClusterForce
expect(store.simulation.forces).toContain('cluster')
})
})Example:

Metadata
Metadata
Assignees
Labels
No labels