33 lines
1.1 KiB
TypeScript
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)
|
|
})
|
|
})
|