/ tests / settings-update-validate-agents.test.ts
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  })