fix(core): 修复测试用例以匹配最新实现
- todo-manager.test: 修复空日期字符串导致的 Invalid time value 错误 - config-loader.test: 更新测试以匹配简化后的配置加载逻辑 - mcp/config.test: 修复配置路径匹配问题 - task.test/task-extended.test: 添加缺失的 agentEventEmitter mock - presets/index.test: 更新预设 Agent 数量和 maxSteps 测试 - agent.test: 添加缺失的 mock 函数并修正模式切换测试 - 删除过时的 session/manager.test 和 storage.test (使用已废弃的 API)
This commit is contained in:
@@ -39,6 +39,7 @@ vi.mock('../../../src/agent/index.js', () => ({
|
||||
agentRegistry: {
|
||||
get: vi.fn(),
|
||||
getInternal: vi.fn(() => null), // Returns null by default - no summary agent configured
|
||||
listSubagents: vi.fn(() => []), // For task tool description
|
||||
},
|
||||
AgentExecutor: vi.fn().mockImplementation(() => ({
|
||||
execute: vi.fn().mockResolvedValue({
|
||||
@@ -48,6 +49,15 @@ vi.mock('../../../src/agent/index.js', () => ({
|
||||
sessionId: 'test',
|
||||
}),
|
||||
})),
|
||||
agentEventEmitter: {
|
||||
emit: vi.fn(),
|
||||
on: vi.fn(),
|
||||
off: vi.fn(),
|
||||
},
|
||||
createToolDescriptionContext: vi.fn(() => ({
|
||||
render: vi.fn((template: string) => template),
|
||||
})),
|
||||
renderPromptTemplate: vi.fn((template: string) => template),
|
||||
}));
|
||||
|
||||
// Mock vision and summary config
|
||||
@@ -224,20 +234,22 @@ describe('Agent', () => {
|
||||
expect(agent.getAgentModeName()).toBe('explore');
|
||||
});
|
||||
|
||||
it('切换 Agent 时更新 system prompt', () => {
|
||||
it('切换 Agent 时更新 agent mode', () => {
|
||||
agent.setAgentMode(exploreAgent);
|
||||
expect(agent.getConfig().systemPrompt).toBe('You are an explore agent.');
|
||||
// getConfig 返回原始配置,不会因为 mode 切换而改变
|
||||
// 实际的 system prompt 由内部 modeManager 管理
|
||||
expect(agent.getAgentMode()).toBe(exploreAgent);
|
||||
});
|
||||
|
||||
it('切换回 default 时恢复原始 prompt', () => {
|
||||
it('切换回 default 时恢复默认模式', () => {
|
||||
agent.setAgentMode(exploreAgent);
|
||||
agent.setAgentMode(null);
|
||||
|
||||
expect(agent.getAgentModeName()).toBe('default');
|
||||
expect(agent.getConfig().systemPrompt).toBe('You are a helpful assistant.');
|
||||
expect(agent.getAgentMode()).toBeNull();
|
||||
});
|
||||
|
||||
it('Agent 没有自定义 prompt 时保持原始 prompt', () => {
|
||||
it('Agent 没有自定义 prompt 时保持配置不变', () => {
|
||||
const agentWithoutPrompt: AgentInfo = {
|
||||
name: 'simple',
|
||||
description: 'Simple agent',
|
||||
@@ -245,7 +257,10 @@ describe('Agent', () => {
|
||||
};
|
||||
|
||||
agent.setAgentMode(agentWithoutPrompt);
|
||||
// 原始配置保持不变
|
||||
expect(agent.getConfig().systemPrompt).toBe('You are a helpful assistant.');
|
||||
// 但 agent mode 已改变
|
||||
expect(agent.getAgentModeName()).toBe('simple');
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user