Files
aiturk-hermes-ide/ui-tui/src/__tests__/journeyCommand.test.ts
T

33 lines
1.1 KiB
TypeScript

import { beforeEach, describe, expect, it } from 'vitest'
import { getOverlayState, resetOverlayState } from '../app/overlayStore.js'
import { findSlashCommand } from '../app/slash/registry.js'
describe('/journey slash command', () => {
beforeEach(() => {
resetOverlayState()
})
it('resolves by name and aliases', () => {
expect(findSlashCommand('journey')?.name).toBe('journey')
for (const alias of ['learning', 'memory-graph']) {
expect(findSlashCommand(alias)?.name).toBe('journey')
}
})
it('opens the journey overlay when run', () => {
expect(getOverlayState().journey).toBe(false)
findSlashCommand('journey')!.run('', {} as never, 'journey')
expect(getOverlayState().journey).toBe(true)
})
it('is preserved by the flow-overlay soft reset (deliberate, user-opened)', async () => {
findSlashCommand('journey')!.run('', {} as never, 'journey')
// Mirror turnController.idle(): flow overlays clear, user-opened panels stay.
const { resetFlowOverlays } = await import('../app/overlayStore.js')
resetFlowOverlays()
expect(getOverlayState().journey).toBe(true)
})
})