From a50cdef4f10fa6684b874476137f3ee8d53dcb07 Mon Sep 17 00:00:00 2001 From: DarkPhilosophy <19309990+DarkPhilosophy@users.noreply.github.com> Date: Wed, 8 Jul 2026 19:40:53 +0300 Subject: [PATCH] test(advisor): fix status-line mocks for getAdvisorStatusOverview --- .../test/status-line-model.test.ts | 18 +++++++++++------- .../test/status-line-overflow.test.ts | 1 + .../test/status-line-settings-cache.test.ts | 2 +- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/coding-agent/test/status-line-model.test.ts b/packages/coding-agent/test/status-line-model.test.ts index bbf8f1bcd..ebaf8fcaf 100644 --- a/packages/coding-agent/test/status-line-model.test.ts +++ b/packages/coding-agent/test/status-line-model.test.ts @@ -16,6 +16,10 @@ function createModelContext(advisorActive: boolean): SegmentContext { isAutoThinking: false, autoResolvedThinkingLevel: () => undefined, isAdvisorActive: () => advisorActive, + getAdvisorStatusOverview: () => ({ + configured: advisorActive, + advisors: advisorActive ? [{ name: "default", status: "running" }] : [], + }), } as unknown as SegmentContext["session"], width: 120, compactThinkingLevel: false, @@ -51,18 +55,17 @@ function createModelContext(advisorActive: boolean): SegmentContext { } describe("status line model segment advisor badge", () => { - it("appends a success-colored ++ badge when the advisor is active", () => { + it("appends per-advisor status dots when the advisor is active", () => { const rendered = renderSegment("model", createModelContext(true)); expect(rendered.content).toContain("Test Model"); - // The badge carries the success color, kept distinct from the statusLineModel - // name color (which several themes alias to `accent`). - expect(rendered.content).toContain(theme.fg("success", "++")); + // Per-advisor dots: ● running, wrapped in parentheses after the model name. + expect(rendered.content).toContain(theme.fg("success", "●")); }); - it("omits the badge when the advisor is inactive", () => { + it("omits the dots when the advisor is inactive", () => { const rendered = renderSegment("model", createModelContext(false)); expect(rendered.content).toContain("Test Model"); - expect(rendered.content).not.toContain("++"); + expect(rendered.content).not.toContain("●"); }); }); @@ -70,6 +73,7 @@ describe("status line model segment compact thinking level", () => { function createThinkingContext(compactThinkingLevel: boolean): SegmentContext { return { ...createModelContext(false), + compactThinkingLevel, session: { state: { model: { id: "test-model", name: "Test Model", thinking: true }, @@ -79,8 +83,8 @@ describe("status line model segment compact thinking level", () => { isAutoThinking: false, autoResolvedThinkingLevel: () => undefined, isAdvisorActive: () => false, + getAdvisorStatusOverview: () => ({ configured: false, advisors: [] }), } as unknown as SegmentContext["session"], - compactThinkingLevel, }; } diff --git a/packages/coding-agent/test/status-line-overflow.test.ts b/packages/coding-agent/test/status-line-overflow.test.ts index b73b9d230..53736675b 100644 --- a/packages/coding-agent/test/status-line-overflow.test.ts +++ b/packages/coding-agent/test/status-line-overflow.test.ts @@ -91,6 +91,7 @@ function createStatusLineSession(sessionName: string, modelName?: string) { isAutoThinking: false, autoResolvedThinkingLevel: () => undefined, isAdvisorActive: () => false, + getAdvisorStatusOverview: () => ({ configured: false, advisors: [] }), isFastModeActive: () => false, getAsyncJobSnapshot: () => ({ running: [] }), getCurrentModel: () => undefined, diff --git a/packages/coding-agent/test/status-line-settings-cache.test.ts b/packages/coding-agent/test/status-line-settings-cache.test.ts index 4113da1b6..2c1e7893b 100644 --- a/packages/coding-agent/test/status-line-settings-cache.test.ts +++ b/packages/coding-agent/test/status-line-settings-cache.test.ts @@ -46,7 +46,7 @@ function makeSession(sessionName = "Cache Session") { autoResolvedThinkingLevel: () => undefined, isFastModeActive: () => false, isAdvisorActive: () => false, - getGoalModeState: () => null, + getAdvisorStatusOverview: () => ({ configured: false, advisors: [] }), getAsyncJobSnapshot: () => ({ running: [] }), settings: { get: () => false }, modelRegistry: { isUsingOAuth: () => false },