/** * Store test utilities for creating isolated test store instances. */ import { create } from 'zustand'; import { createConfigSlice } from '../../../src/renderer/store/slices/configSlice'; import { createConversationSlice } from '../../../src/renderer/store/slices/conversationSlice'; import { createNotificationSlice } from '../../../src/renderer/store/slices/notificationSlice'; import { createPaneSlice } from '../../../src/renderer/store/slices/paneSlice'; import { createProjectSlice } from '../../../src/renderer/store/slices/projectSlice'; import { createRepositorySlice } from '../../../src/renderer/store/slices/repositorySlice'; import { createSessionDetailSlice } from '../../../src/renderer/store/slices/sessionDetailSlice'; import { createSessionSlice } from '../../../src/renderer/store/slices/sessionSlice'; import { createSubagentSlice } from '../../../src/renderer/store/slices/subagentSlice'; import { createTabSlice } from '../../../src/renderer/store/slices/tabSlice'; import { createTabUISlice } from '../../../src/renderer/store/slices/tabUISlice'; import { createUISlice } from '../../../src/renderer/store/slices/uiSlice'; import type { AppState } from '../../../src/renderer/store/types'; /** * Create an isolated store instance for testing. * Each test gets a fresh store with no shared state. */ export function createTestStore() { return create()((...args) => ({ ...createProjectSlice(...args), ...createRepositorySlice(...args), ...createSessionSlice(...args), ...createSessionDetailSlice(...args), ...createSubagentSlice(...args), ...createConversationSlice(...args), ...createTabSlice(...args), ...createTabUISlice(...args), ...createPaneSlice(...args), ...createUISlice(...args), ...createNotificationSlice(...args), ...createConfigSlice(...args), })); } export type TestStore = ReturnType;