Files
superwork/vscode/src/sessions/managedResumeProfile.test.ts
T

71 lines
2.2 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { decideManagedResumeProfile } from './managedResumeProfile'
describe('decideManagedResumeProfile', () => {
it('override 非空时用 override,与 stored 不同则写回', () => {
expect(decideManagedResumeProfile({
storedProfile: '/profiles/grok-4.5.json',
overrideProfile: '/profiles/opus.json',
inferredProfile: '/profiles/from-jsonl.json',
})).toEqual({
effective: '/profiles/opus.json',
persist: '/profiles/opus.json',
})
})
it('override 与 stored trim 后相同则不写回,且忽略 inferred', () => {
expect(decideManagedResumeProfile({
storedProfile: ' /profiles/grok-4.5.json ',
overrideProfile: '/profiles/grok-4.5.json',
inferredProfile: '/profiles/from-jsonl.json',
})).toEqual({
effective: '/profiles/grok-4.5.json',
persist: undefined,
})
})
it('空白 override 视为未提供,回落到 stored', () => {
expect(decideManagedResumeProfile({
storedProfile: '/profiles/grok-4.5.json',
overrideProfile: ' ',
inferredProfile: '/profiles/from-jsonl.json',
})).toEqual({
effective: '/profiles/grok-4.5.json',
persist: undefined,
})
})
it('无 override 时用 stored,不写回也不用 inferred', () => {
expect(decideManagedResumeProfile({
storedProfile: '/profiles/grok-4.5.json',
overrideProfile: undefined,
inferredProfile: '/profiles/from-jsonl.json',
})).toEqual({
effective: '/profiles/grok-4.5.json',
persist: undefined,
})
})
it('override 与 stored 都空时用 inferred 并写回', () => {
expect(decideManagedResumeProfile({
storedProfile: ' ',
overrideProfile: undefined,
inferredProfile: '/profiles/from-jsonl.json',
})).toEqual({
effective: '/profiles/from-jsonl.json',
persist: '/profiles/from-jsonl.json',
})
})
it('三者都空则 effective 与 persist 都为 undefined', () => {
expect(decideManagedResumeProfile({
storedProfile: undefined,
overrideProfile: '',
inferredProfile: null,
})).toEqual({
effective: undefined,
persist: undefined,
})
})
})