settings-update-validate-agents.test.ts
1 import { describe, expect, it } from 'vitest' 2 3 import { parseSettingsUpdatePayload } from '@/server/api/settings/validate' 4 5 describe('settings update payload parser (agent backends)', () => { 6 it('accepts boolean agent backend enablement patches', () => { 7 const payload = parseSettingsUpdatePayload({ 8 sessionId: 'session-1', 9 defaults: { 10 agentBackendsEnabled: { 11 'codex-cli': true, 12 opencode: false, 13 }, 14 }, 15 }) 16 17 expect(payload.defaults?.agentBackendsEnabled).toEqual({ 18 'codex-cli': true, 19 opencode: false, 20 }) 21 }) 22 23 it('rejects non-boolean agent backend values', () => { 24 expect(() => 25 parseSettingsUpdatePayload({ 26 defaults: { 27 agentBackendsEnabled: { 28 opencode: 'yes', 29 }, 30 }, 31 }), 32 ).toThrowError('Invalid agent backend settings patch.') 33 }) 34 })