Skip to content

Commit 4cc0eb1

Browse files
author
王璨
committed
fix(tests): update tests to match executeSlashCommand signature and handleSubmit changes
- Adapt commands.test.ts to the refactored SlashCommandContext shape ({ harness, ui } instead of flat context + separate ui arg) - Add missing clearDrafts mock in permission-prompt.test.ts
1 parent cdcda08 commit 4cc0eb1

2 files changed

Lines changed: 43 additions & 32 deletions

File tree

tests/ui/commands.test.ts

Lines changed: 42 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,65 +2,73 @@ import { describe, expect, it, vi } from "vitest";
22

33
import { executeSlashCommand } from "../../src/ui/commands.js";
44

5-
function makeContext(overrides: Record<string, unknown> = {}) {
5+
function makeContext(
6+
harnessOverrides: Record<string, unknown> = {},
7+
uiOverrides: Record<string, unknown> = {},
8+
) {
69
return {
7-
agent: { reset: vi.fn(), state: { messages: [] } },
8-
sessionManager: { trySaveSession: vi.fn(), createSession: vi.fn(), persistEmptySession: vi.fn(), getCurrentSessionId: () => null },
9-
memoryManager: {},
10-
driverRegistry: {},
11-
toolRegistry: {},
12-
skillManager: {},
13-
permissionManager: {},
14-
contextManager: {},
15-
config: {},
16-
onSetModel: vi.fn(),
17-
onSetThinking: vi.fn(),
18-
onSetCwd: vi.fn(),
19-
...overrides,
10+
harness: {
11+
agent: { reset: vi.fn(), state: { messages: [] } },
12+
sessionManager: { trySaveSession: vi.fn(), createSession: vi.fn(), persistEmptySession: vi.fn(), getCurrentSessionId: () => null },
13+
memoryManager: {},
14+
driverRegistry: {},
15+
toolRegistry: {},
16+
skillManager: {},
17+
permissionManager: {},
18+
contextManager: {},
19+
config: {},
20+
onSetModel: vi.fn(),
21+
onSetThinking: vi.fn(),
22+
onSetCwd: vi.fn(),
23+
...harnessOverrides,
24+
},
25+
ui: {
26+
addInfo: vi.fn(),
27+
addError: vi.fn(),
28+
...uiOverrides,
29+
},
2030
} as any;
2131
}
2232

2333
describe("slash commands", () => {
2434
it("opens the MCP browser when MCP servers are available", async () => {
2535
const openMcpBrowser = vi.fn();
26-
const addInfo = vi.fn();
27-
const addError = vi.fn();
2836

2937
executeSlashCommand(
3038
"/mcp",
31-
makeContext({
32-
mcpManager: {
33-
getStates: () => [{ config: { name: "github" }, status: "connected", toolCount: 2 }],
39+
makeContext(
40+
{
41+
mcpManager: {
42+
getStates: () => [{ config: { name: "github" }, status: "connected", toolCount: 2 }],
43+
},
3444
},
35-
}),
36-
{ openMcpBrowser, addInfo, addError } as any,
45+
{ openMcpBrowser },
46+
),
3747
);
3848

3949
await Promise.resolve();
4050

4151
expect(openMcpBrowser).toHaveBeenCalledOnce();
42-
expect(addInfo).not.toHaveBeenCalled();
43-
expect(addError).not.toHaveBeenCalled();
4452
});
4553

4654
it("shows an info message when no MCP servers are configured", async () => {
47-
const openMcpBrowser = vi.fn();
4855
const addInfo = vi.fn();
4956
const addError = vi.fn();
5057

5158
executeSlashCommand(
5259
"/mcp",
53-
makeContext({
54-
mcpManager: {
55-
getStates: () => [],
60+
makeContext(
61+
{
62+
mcpManager: {
63+
getStates: () => [],
64+
},
5665
},
57-
}),
58-
{ openMcpBrowser, addInfo, addError } as any,
66+
{ addInfo, addError },
67+
),
5968
);
6069

6170
await Promise.resolve();
6271

63-
expect(openMcpBrowser).not.toHaveBeenCalled();
6472
expect(addInfo).toHaveBeenCalledWith("No MCP servers configured.");
6573
expect(addError).not.toHaveBeenCalled();
6674
});
@@ -72,8 +80,10 @@ describe("slash commands", () => {
7280

7381
executeSlashCommand(
7482
"/reset",
75-
makeContext({ agent: { reset, state: { messages: [] } } }),
76-
{ clearConversationView, addInfo, addError: vi.fn() } as any,
83+
makeContext(
84+
{ agent: { reset, state: { messages: [] } } },
85+
{ clearConversationView, addInfo },
86+
),
7787
);
7888

7989
await Promise.resolve();

tests/ui/permission-prompt.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ describe("permission prompt navigation", () => {
131131
drainImages: vi.fn().mockReturnValue([{ type: "image", data: "abcd", mimeType: "image/png" }]),
132132
updateStatus: vi.fn(),
133133
imageCount: 1,
134+
clearDrafts: vi.fn(),
134135
},
135136
processing: false,
136137
permissionExplainMode: false,

0 commit comments

Comments
 (0)