From 7b693f3d0b8bfa64c5a8438d975fb146263f765d Mon Sep 17 00:00:00 2001 From: can1357 Date: Fri, 17 Jul 2026 04:23:23 +0200 Subject: [PATCH] test(cli): cover clear alias collision --- .../test/agent-session-prune-persistence.test.ts | 4 ++-- .../test/slash-commands/clear-alias.test.ts | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/coding-agent/test/agent-session-prune-persistence.test.ts b/packages/coding-agent/test/agent-session-prune-persistence.test.ts index 438f0de4e..3b78c3657 100644 --- a/packages/coding-agent/test/agent-session-prune-persistence.test.ts +++ b/packages/coding-agent/test/agent-session-prune-persistence.test.ts @@ -114,7 +114,7 @@ describe("AgentSession per-turn prune persistence", () => { const message = session.agent.state.messages.find( candidate => candidate.role === "toolResult" && candidate.toolCallId === BIG_CALL_ID, ); - if (message?.role !== "toolResult" || !Array.isArray(message.content)) { + if (!message || message.role !== "toolResult" || !Array.isArray(message.content)) { throw new Error("Expected the seeded tool result in live agent state"); } const text = message.content.find(block => block.type === "text"); @@ -156,7 +156,7 @@ describe("AgentSession per-turn prune persistence", () => { const rebuilt = reloaded .buildSessionContext() .messages.find(candidate => candidate.role === "toolResult" && candidate.toolCallId === BIG_CALL_ID); - if (rebuilt?.role !== "toolResult" || !Array.isArray(rebuilt.content)) { + if (!rebuilt || rebuilt.role !== "toolResult" || !Array.isArray(rebuilt.content)) { throw new Error("Expected the seeded tool result in the from-disk rebuild"); } const rebuiltText = rebuilt.content.find(block => block.type === "text"); diff --git a/packages/coding-agent/test/slash-commands/clear-alias.test.ts b/packages/coding-agent/test/slash-commands/clear-alias.test.ts index 5964a3af7..4e0b56676 100644 --- a/packages/coding-agent/test/slash-commands/clear-alias.test.ts +++ b/packages/coding-agent/test/slash-commands/clear-alias.test.ts @@ -1,10 +1,19 @@ import { describe, expect, it } from "bun:test"; -import { BUILTIN_SLASH_COMMANDS } from "@oh-my-pi/pi-coding-agent/slash-commands/builtin-registry"; +import { + BUILTIN_SLASH_COMMANDS, + lookupBuiltinSlashCommand, +} from "@oh-my-pi/pi-coding-agent/slash-commands/builtin-registry"; import { CombinedAutocompleteProvider } from "@oh-my-pi/pi-tui/autocomplete"; describe("/clear slash command alias", () => { it("ranks the new-session action above fuzzy description matches", async () => { - const provider = new CombinedAutocompleteProvider([...BUILTIN_SLASH_COMMANDS], process.cwd()); + const provider = new CombinedAutocompleteProvider( + [ + ...BUILTIN_SLASH_COMMANDS, + { name: "autoresearch", description: "Clear stale research results" }, + ], + process.cwd(), + ); const suggestions = await provider.getSuggestions(["/clear"], 0, 6); @@ -12,5 +21,6 @@ describe("/clear slash command alias", () => { value: "clear", description: "Start a new session", }); + expect(lookupBuiltinSlashCommand("clear")?.name).toBe("new"); }); });