Files
Claude-Code-Workflow/ccw/frontend/src/stores/sessionManagerStore.test.ts
catlog22 62d8aa3623 Add unit tests for various components and stores in the terminal dashboard
- Implement tests for AssociationHighlight, DashboardToolbar, QueuePanel, SessionGroupTree, and TerminalDashboardPage to ensure proper functionality and state management.
- Create tests for cliSessionStore, issueQueueIntegrationStore, queueExecutionStore, queueSchedulerStore, sessionManagerStore, and terminalGridStore to validate state resets and workspace scoping.
- Mock necessary dependencies and state management hooks to isolate tests and ensure accurate behavior.
2026-03-08 21:38:20 +08:00

38 lines
1.2 KiB
TypeScript

// ========================================
// Session Manager Store Tests
// ========================================
import { beforeEach, describe, expect, it } from 'vitest';
import { useSessionManagerStore } from './sessionManagerStore';
describe('sessionManagerStore', () => {
beforeEach(() => {
useSessionManagerStore.getState().resetState();
});
it('resetState clears workspace-scoped terminal metadata and selection', () => {
const store = useSessionManagerStore.getState();
store.createGroup('Workspace Group');
store.setActiveTerminal('session-1');
store.updateTerminalMeta('session-1', {
title: 'Session 1',
status: 'active',
alertCount: 2,
tag: 'workspace-a',
});
const activeState = useSessionManagerStore.getState();
expect(activeState.groups).toHaveLength(1);
expect(activeState.activeTerminalId).toBe('session-1');
expect(activeState.terminalMetas['session-1']?.status).toBe('active');
store.resetState();
const nextState = useSessionManagerStore.getState();
expect(nextState.groups).toEqual([]);
expect(nextState.activeTerminalId).toBeNull();
expect(nextState.terminalMetas).toEqual({});
});
});