/ tests / agent-auth-api-parse.test.ts
agent-auth-api-parse.test.ts
 1  import { describe, expect, it } from 'vitest'
 2  
 3  import { parseAgentAuthActionPayload } from '@/server/api/agents/auth'
 4  
 5  describe('agent auth action parser', () => {
 6    it('parses valid jules submit-code payloads', () => {
 7      const parsed = parseAgentAuthActionPayload({
 8        action: 'jules.submit_code',
 9        sessionId: 'session-1',
10        code: '4/0Aea',
11      })
12      expect(parsed).toEqual({
13        action: 'jules.submit_code',
14        sessionId: 'session-1',
15        code: '4/0Aea',
16      })
17    })
18  
19    it('rejects unknown auth actions', () => {
20      expect(() =>
21        parseAgentAuthActionPayload({
22          action: 'unknown.action',
23        }),
24      ).toThrowError('Unsupported agent auth action.')
25    })
26  
27    it('rejects malformed payloads', () => {
28      expect(() => parseAgentAuthActionPayload(null)).toThrowError(
29        'Invalid agent auth action payload.',
30      )
31      expect(() =>
32        parseAgentAuthActionPayload({
33          action: 'opencode.login',
34          providerUrl: 123,
35        }),
36      ).toThrowError('Invalid "providerUrl" value.')
37    })
38  })