mirror of
https://github.com/stablyai/orca.git
synced 2026-09-23 00:02:29 +00:00
* fix(agent-hooks): skip unavailable agent homes * refactor(agent-hooks): separate Pi and OMP home fix * test(agent-hooks): update merged protocol harnesses * fix(agent-hooks): avoid redundant reconciliation * fix(agent-hooks): harden reconciliation and detection * test(agent-hooks): cover settings reconciliation * fix(agent-hooks): hydrate PATH for paired clients
45 lines
1.6 KiB
TypeScript
45 lines
1.6 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import {
|
|
haveSameDisabledTuiAgents,
|
|
normalizeDisabledTuiAgents,
|
|
pickTuiAgent
|
|
} from './tui-agent-selection'
|
|
|
|
describe('pickTuiAgent', () => {
|
|
it('uses an installed preferred agent', () => {
|
|
expect(pickTuiAgent('codex', ['claude', 'codex'])).toBe('codex')
|
|
})
|
|
|
|
it('falls back in desktop catalog order when the preference is absent or stale', () => {
|
|
expect(pickTuiAgent(null, ['cursor', 'codex'])).toBe('codex')
|
|
expect(pickTuiAgent('gemini', ['cursor', 'codex'])).toBe('codex')
|
|
expect(pickTuiAgent(null, ['continue', 'command-code'])).toBe('command-code')
|
|
})
|
|
|
|
it('respects the explicit blank terminal preference', () => {
|
|
expect(pickTuiAgent('blank', ['cursor', 'claude'])).toBeNull()
|
|
})
|
|
|
|
it('ignores disabled preferred and fallback agents', () => {
|
|
expect(pickTuiAgent('codex', ['claude', 'codex'], ['codex'])).toBe('claude')
|
|
expect(pickTuiAgent(null, ['claude', 'codex'], ['claude', 'codex'])).toBeNull()
|
|
})
|
|
})
|
|
|
|
describe('normalizeDisabledTuiAgents', () => {
|
|
it('dedupes supported agent ids and drops unsupported values', () => {
|
|
expect(normalizeDisabledTuiAgents(['codex', 'unknown', 'codex', null, 'claude'])).toEqual([
|
|
'codex',
|
|
'claude'
|
|
])
|
|
})
|
|
})
|
|
|
|
describe('haveSameDisabledTuiAgents', () => {
|
|
it('compares the normalized disabled-agent sets', () => {
|
|
expect(haveSameDisabledTuiAgents(['codex', 'claude'], ['claude', 'codex'])).toBe(true)
|
|
expect(haveSameDisabledTuiAgents(['codex', 'unknown'], ['codex'])).toBe(true)
|
|
expect(haveSameDisabledTuiAgents(['codex'], ['claude'])).toBe(false)
|
|
})
|
|
})
|