orca/src/shared/constants.test.ts

70 lines
2.6 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { getDefaultPrimarySelectionMiddleClickPaste, getDefaultSettings } from './constants'
describe('getDefaultSettings', () => {
it('uses platform-consistent separators for the default workspace directory', () => {
expect(getDefaultSettings('/Users/alice').workspaceDir).toBe('/Users/alice/orca/workspaces')
expect(getDefaultSettings('C:\\Users\\alice').workspaceDir).toBe(
'C:\\Users\\alice\\orca\\workspaces'
)
})
it('enables gitignored file decorations by default', () => {
expect(getDefaultSettings('/tmp').showGitIgnoredFiles).toBe(true)
})
it('uses list view for Source Control changes by default', () => {
expect(getDefaultSettings('/tmp').sourceControlViewMode).toBe('list')
})
it('keeps first-work branch auto-renaming on by default for new settings', () => {
expect(getDefaultSettings('/tmp').autoRenameBranchFromWork).toBe(true)
expect(getDefaultSettings('/tmp').autoRenameBranchFromWorkDefaultedOn).toBe(true)
})
it('uses a block terminal cursor by default for new settings', () => {
expect(getDefaultSettings('/tmp').terminalCursorStyle).toBe('block')
expect(getDefaultSettings('/tmp').terminalCursorStyleDefaultedToBlock).toBe(true)
})
it('enables separate light terminal theme by default', () => {
expect(getDefaultSettings('/tmp').terminalUseSeparateLightTheme).toBe(true)
})
it('enables Source Control AI by default without pinning a separate agent', () => {
expect(getDefaultSettings('/tmp').commitMessageAi).toMatchObject({
enabled: true,
agentId: null,
selectedModelByAgent: {}
})
expect(getDefaultSettings('/tmp').sourceControlAi).toMatchObject({
enabled: true,
agentId: null,
selectedModelByAgent: {},
instructionsByOperation: {
commitMessage: '',
pullRequest: '',
branchName: ''
}
})
})
it('keeps compact worktree cards experimental and disabled by default', () => {
expect(getDefaultSettings('/tmp').experimentalCompactWorktreeCards).toBe(false)
})
})
describe('getDefaultPrimarySelectionMiddleClickPaste', () => {
it('enables primary selection paste on Linux by default', () => {
expect(getDefaultPrimarySelectionMiddleClickPaste('linux')).toBe(true)
})
it('enables primary selection paste on macOS by default', () => {
expect(getDefaultPrimarySelectionMiddleClickPaste('darwin')).toBe(true)
})
it('leaves primary selection paste opt-in on Windows', () => {
expect(getDefaultPrimarySelectionMiddleClickPaste('win32')).toBe(false)
})
})