Skip to content

Commit 4951bb5

Browse files
committed
fix tests
1 parent 504c7a5 commit 4951bb5

File tree

3 files changed

+65
-54
lines changed

3 files changed

+65
-54
lines changed

backend/src/__tests__/loop-agent-steps.test.ts

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,20 @@ import {
1818
mock,
1919
spyOn,
2020
} from 'bun:test'
21+
import { z } from 'zod/v4'
2122

2223
import { withAppContext } from '../context/app-context'
2324
import { loopAgentSteps } from '../run-agent-step'
2425
import { clearAgentGeneratorCache } from '../run-programmatic-step'
2526
import { mockFileContext, MockWebSocket } from './test-utils'
2627
import * as aisdk from '../llm-apis/vercel-ai-sdk/ai-sdk'
2728

29+
import type { getAgentTemplate } from '../templates/agent-registry'
2830
import type { AgentTemplate } from '../templates/types'
2931
import type { StepGenerator } from '@codebuff/common/types/agent-template'
3032
import type { AgentState } from '@codebuff/common/types/session-state'
33+
import type { ParamsOf } from '@codebuff/types/common'
3134
import type { WebSocket } from 'ws'
32-
import { z } from 'zod/v4'
3335

3436
describe('loopAgentSteps - runAgentStep vs runProgrammaticStep behavior', () => {
3537
let mockTemplate: AgentTemplate
@@ -54,26 +56,18 @@ describe('loopAgentSteps - runAgentStep vs runProgrammaticStep behavior', () =>
5456
}
5557

5658
beforeAll(() => {
57-
// Mock logger
58-
mockModule('@codebuff/backend/util/logger', () => ({
59-
logger: {
60-
debug: () => {},
61-
error: () => {},
62-
info: () => {},
63-
warn: () => {},
64-
},
65-
withLoggerContext: async (context: any, fn: () => Promise<any>) => fn(),
66-
}))
67-
6859
// Mock bigquery
6960
mockModule('@codebuff/bigquery', () => ({
7061
insertTrace: () => {},
7162
}))
7263

7364
// Mock agent registry
7465
mockModule('@codebuff/backend/templates/agent-registry', () => ({
75-
getAgentTemplate: async (agentType: string, localTemplates: any) => {
76-
return localTemplates[agentType] || mockTemplate
66+
getAgentTemplate: async ({
67+
agentId,
68+
localAgentTemplates,
69+
}: ParamsOf<typeof getAgentTemplate>) => {
70+
return localAgentTemplates[agentId] || mockTemplate
7771
},
7872
}))
7973

@@ -539,10 +533,10 @@ describe('loopAgentSteps - runAgentStep vs runProgrammaticStep behavior', () =>
539533
const mockedRunProgrammaticStep = await mockModule(
540534
'@codebuff/backend/run-programmatic-step',
541535
() => ({
542-
runProgrammaticStep: async (agentState: any, options: any) => {
543-
runProgrammaticStepCalls.push({ agentState, options })
536+
runProgrammaticStep: async (params: any) => {
537+
runProgrammaticStepCalls.push(params)
544538
// Return default behavior
545-
return { agentState, endTurn: false }
539+
return { agentState: params.agentState, endTurn: false }
546540
},
547541
clearAgentGeneratorCache: () => {},
548542
agentIdToStepAll: new Set(),
@@ -584,10 +578,10 @@ describe('loopAgentSteps - runAgentStep vs runProgrammaticStep behavior', () =>
584578
expect(runProgrammaticStepCalls).toHaveLength(2)
585579

586580
// First call should have stepsComplete: false
587-
expect(runProgrammaticStepCalls[0].options.stepsComplete).toBe(false)
581+
expect(runProgrammaticStepCalls[0].stepsComplete).toBe(false)
588582

589583
// Second call should have stepsComplete: true (after end_turn tool was called)
590-
expect(runProgrammaticStepCalls[1].options.stepsComplete).toBe(true)
584+
expect(runProgrammaticStepCalls[1].stepsComplete).toBe(true)
591585
})
592586

593587
it('should restart loop when agent finishes without setting required output', async () => {

backend/src/api/__tests__/validate-agent-name.test.ts

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ import type {
1919
} from 'express'
2020

2121
function createMockReq(query: Record<string, any>): Partial<ExpressRequest> {
22-
return {
23-
query,
24-
headers: { 'x-codebuff-api-key': 'test-api-key' }
22+
return {
23+
query,
24+
headers: { 'x-codebuff-api-key': 'test-api-key' },
2525
} as any
2626
}
2727

@@ -78,7 +78,11 @@ describe('validateAgentNameHandler', () => {
7878

7979
await validateAgentNameHandler(req as any, res as any, noopNext)
8080

81-
expect(spy).toHaveBeenCalledWith(agentId, {})
81+
expect(spy).toHaveBeenCalledWith({
82+
agentId,
83+
localAgentTemplates: {},
84+
logger: expect.anything(),
85+
})
8286
expect(res.status).toHaveBeenCalledWith(200)
8387
expect(res.jsonPayload.valid).toBe(true)
8488
expect(res.jsonPayload.source).toBe('published')
@@ -96,7 +100,11 @@ describe('validateAgentNameHandler', () => {
96100

97101
await validateAgentNameHandler(req as any, res as any, noopNext)
98102

99-
expect(spy).toHaveBeenCalledWith(agentId, {})
103+
expect(spy).toHaveBeenCalledWith({
104+
agentId,
105+
localAgentTemplates: {},
106+
logger: expect.anything(),
107+
})
100108
expect(res.status).toHaveBeenCalledWith(200)
101109
expect(res.jsonPayload.valid).toBe(true)
102110
expect(res.jsonPayload.source).toBe('published')
@@ -114,7 +122,11 @@ describe('validateAgentNameHandler', () => {
114122

115123
await validateAgentNameHandler(req as any, res as any, noopNext)
116124

117-
expect(spy).toHaveBeenCalledWith(agentId, {})
125+
expect(spy).toHaveBeenCalledWith({
126+
agentId,
127+
localAgentTemplates: {},
128+
logger: expect.anything(),
129+
})
118130
expect(res.status).toHaveBeenCalledWith(200)
119131
expect(res.jsonPayload.valid).toBe(false)
120132
})

backend/src/util/__tests__/simplify-tool-results.test.ts

Lines changed: 34 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
1-
import {
2-
afterEach,
3-
beforeEach,
4-
describe,
5-
expect,
6-
it,
7-
mock,
8-
spyOn,
9-
} from 'bun:test'
1+
import { describe, expect, it } from 'bun:test'
102

113
import {
124
simplifyReadFileResults,
@@ -130,15 +122,6 @@ describe('simplifyReadFileResults', () => {
130122
})
131123

132124
describe('simplifyTerminalCommandResults', () => {
133-
beforeEach(() => {
134-
// Mock the logger.error function directly
135-
spyOn(logger, 'error').mockImplementation(() => {})
136-
})
137-
138-
afterEach(() => {
139-
mock.restore()
140-
})
141-
142125
it('should simplify terminal command results with stdout', () => {
143126
const input: CodebuffToolOutput<'run_terminal_command'> = [
144127
{
@@ -154,7 +137,10 @@ describe('simplifyTerminalCommandResults', () => {
154137
},
155138
]
156139

157-
const result = simplifyTerminalCommandResults({ messageContent: input, logger })
140+
const result = simplifyTerminalCommandResults({
141+
messageContent: input,
142+
logger,
143+
})
158144

159145
expect(result).toEqual([
160146
{
@@ -181,7 +167,10 @@ describe('simplifyTerminalCommandResults', () => {
181167
},
182168
]
183169

184-
const result = simplifyTerminalCommandResults({ messageContent: input, logger })
170+
const result = simplifyTerminalCommandResults({
171+
messageContent: input,
172+
logger,
173+
})
185174

186175
expect(result).toEqual([
187176
{
@@ -206,7 +195,10 @@ describe('simplifyTerminalCommandResults', () => {
206195
},
207196
]
208197

209-
const result = simplifyTerminalCommandResults({ messageContent: input, logger })
198+
const result = simplifyTerminalCommandResults({
199+
messageContent: input,
200+
logger,
201+
})
210202

211203
expect(result).toEqual([
212204
{
@@ -231,7 +223,10 @@ describe('simplifyTerminalCommandResults', () => {
231223
},
232224
]
233225

234-
const result = simplifyTerminalCommandResults({ messageContent: input, logger })
226+
const result = simplifyTerminalCommandResults({
227+
messageContent: input,
228+
logger,
229+
})
235230

236231
expect(result).toEqual(input)
237232
})
@@ -247,7 +242,10 @@ describe('simplifyTerminalCommandResults', () => {
247242
},
248243
]
249244

250-
const result = simplifyTerminalCommandResults({ messageContent: input, logger })
245+
const result = simplifyTerminalCommandResults({
246+
messageContent: input,
247+
logger,
248+
})
251249

252250
expect(result).toEqual(input)
253251
})
@@ -265,7 +263,10 @@ describe('simplifyTerminalCommandResults', () => {
265263
},
266264
]
267265

268-
const result = simplifyTerminalCommandResults({ messageContent: input, logger })
266+
const result = simplifyTerminalCommandResults({
267+
messageContent: input,
268+
logger,
269+
})
269270

270271
expect(result).toEqual([
271272
{
@@ -284,6 +285,7 @@ describe('simplifyTerminalCommandResults', () => {
284285
// Create input that will cause an error during processing
285286
const malformedInput = {
286287
invalidStructure: true,
288+
logger,
287289
} as any
288290

289291
const result = simplifyTerminalCommandResults(malformedInput)
@@ -297,9 +299,6 @@ describe('simplifyTerminalCommandResults', () => {
297299
},
298300
},
299301
])
300-
301-
// Verify error was logged
302-
expect(logger.error).toHaveBeenCalled()
303302
})
304303

305304
it('should not mutate the original input', () => {
@@ -334,7 +333,10 @@ describe('simplifyTerminalCommandResults', () => {
334333
},
335334
]
336335

337-
const result = simplifyTerminalCommandResults({ messageContent: input, logger })
336+
const result = simplifyTerminalCommandResults({
337+
messageContent: input,
338+
logger,
339+
})
338340

339341
expect(result).toEqual([
340342
{
@@ -361,7 +363,10 @@ describe('simplifyTerminalCommandResults', () => {
361363
},
362364
]
363365

364-
const result = simplifyTerminalCommandResults({ messageContent: input, logger })
366+
const result = simplifyTerminalCommandResults({
367+
messageContent: input,
368+
logger,
369+
})
365370

366371
expect(result).toEqual([
367372
{

0 commit comments

Comments
 (0)