27 lines
1022 B
TypeScript
27 lines
1022 B
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import {
|
|
normalizeHookCommandSourcePolicy,
|
|
resolveHookCommandSourcePolicy
|
|
} from './hook-command-source-policy'
|
|
|
|
describe('hook command source policy', () => {
|
|
it('normalizes unknown persisted policies to shared-only', () => {
|
|
expect(normalizeHookCommandSourcePolicy('shared-first')).toBe('shared-only')
|
|
})
|
|
|
|
it('uses local commands by default when a local script is configured', () => {
|
|
expect(resolveHookCommandSourcePolicy(undefined, { hasLocalScript: true })).toBe('local-only')
|
|
})
|
|
|
|
it('uses shared commands by default when no local script is configured', () => {
|
|
expect(resolveHookCommandSourcePolicy(undefined, { hasLocalScript: false })).toBe('shared-only')
|
|
})
|
|
|
|
it('preserves explicit command source choices', () => {
|
|
expect(resolveHookCommandSourcePolicy('shared-only', { hasLocalScript: true })).toBe(
|
|
'shared-only'
|
|
)
|
|
expect(resolveHookCommandSourcePolicy('run-both', { hasLocalScript: true })).toBe('run-both')
|
|
})
|
|
})
|