From 4bbcddfb22fe2e99e03aabefd7101edd93ef5a5a Mon Sep 17 00:00:00 2001 From: Mathews-Tom Date: Wed, 8 Jul 2026 21:21:20 +0530 Subject: [PATCH] test: align merged fixture contracts --- packages/ai/test/auth-storage-email-dedupe.test.ts | 4 ++-- packages/ai/test/openrouter-login.test.ts | 2 +- .../test/agent-session-skill-keywords.test.ts | 14 +++++++++++--- .../test/event-controller-error-banner.test.ts | 3 ++- .../modes/utils/render-initial-messages.test.ts | 2 +- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/packages/ai/test/auth-storage-email-dedupe.test.ts b/packages/ai/test/auth-storage-email-dedupe.test.ts index b98b00c08..eb846c3a2 100644 --- a/packages/ai/test/auth-storage-email-dedupe.test.ts +++ b/packages/ai/test/auth-storage-email-dedupe.test.ts @@ -765,8 +765,8 @@ describe("AuthStorage OAuth login upgrade and multi-account coexistence", () => }); expect(authStorage.listStoredCredentials("nvidia").map(entry => entry.credential)).toEqual([ - { type: "api_key", key: "nvapi-first" }, - { type: "api_key", key: "nvapi-second" }, + { type: "api_key", key: "nvapi-first", source: "login" }, + { type: "api_key", key: "nvapi-second", source: "login" }, ]); const selectedKeys = new Set(); diff --git a/packages/ai/test/openrouter-login.test.ts b/packages/ai/test/openrouter-login.test.ts index 9b051f56e..bfe00a647 100644 --- a/packages/ai/test/openrouter-login.test.ts +++ b/packages/ai/test/openrouter-login.test.ts @@ -55,7 +55,7 @@ describe("openrouter login wiring", () => { }); const credential = await storage.get("openrouter"); - expect(credential).toEqual({ type: "api_key", key: "sk-or-validated" }); + expect(credential).toEqual({ type: "api_key", key: "sk-or-validated", source: "login" }); const authCall = fetchCalls.find(call => call.url.includes("/api/v1/auth/key")); expect(authCall).toBeDefined(); diff --git a/packages/coding-agent/test/agent-session-skill-keywords.test.ts b/packages/coding-agent/test/agent-session-skill-keywords.test.ts index 895b4d1d6..9e8d666d7 100644 --- a/packages/coding-agent/test/agent-session-skill-keywords.test.ts +++ b/packages/coding-agent/test/agent-session-skill-keywords.test.ts @@ -1,6 +1,6 @@ import { afterEach, beforeEach, describe, expect, it } from "bun:test"; import * as path from "node:path"; -import { Agent } from "@oh-my-pi/pi-agent-core"; +import { Agent, type AgentTool } from "@oh-my-pi/pi-agent-core"; import type { TextContent } from "@oh-my-pi/pi-ai"; import { AssistantMessageEventStream } from "@oh-my-pi/pi-ai/utils/event-stream"; import { getBundledModel } from "@oh-my-pi/pi-catalog/models"; @@ -16,8 +16,17 @@ import { } from "@oh-my-pi/pi-coding-agent/session/messages"; import { SessionManager } from "@oh-my-pi/pi-coding-agent/session/session-manager"; import { TempDir } from "@oh-my-pi/pi-utils"; +import { type } from "arktype"; import { createAssistantMessage } from "./helpers/agent-session-setup"; +const mockTaskTool: AgentTool = { + name: "task", + label: "Task", + description: "Mock task tool", + parameters: type({}), + execute: async () => ({ content: [{ type: "text", text: "ok" }] }), +}; + type ObservedSkillTurn = { texts: string[]; }; @@ -43,8 +52,7 @@ describe("AgentSession skill prompt keyword steering", () => { initialState: { model, systemPrompt: ["Test"], - tools: [], - messages: [], + tools: [mockTaskTool], }, convertToLlm, streamFn: (_model, context) => { diff --git a/packages/coding-agent/test/event-controller-error-banner.test.ts b/packages/coding-agent/test/event-controller-error-banner.test.ts index a705f3342..e12980e7e 100644 --- a/packages/coding-agent/test/event-controller-error-banner.test.ts +++ b/packages/coding-agent/test/event-controller-error-banner.test.ts @@ -67,6 +67,7 @@ function createFixture(streamingMessage?: AssistantMessage) { const clearPinnedError = vi.fn(); const statusContainer = { clear: vi.fn(), + disposeChildren: vi.fn(), addChild: vi.fn(), }; @@ -283,7 +284,7 @@ describe("EventController working loader reconciliation", () => { } as Extract); expect(loader?.stop).toHaveBeenCalledTimes(1); - expect(ctx.statusContainer.clear).toHaveBeenCalledTimes(1); + expect(ctx.statusContainer.disposeChildren).toHaveBeenCalledTimes(1); expect(ctx.flushCompactionQueue).toHaveBeenCalledWith({ willRetry: false }); expect(ctx.ensureLoadingAnimation).toHaveBeenCalledTimes(1); }); diff --git a/packages/coding-agent/test/modes/utils/render-initial-messages.test.ts b/packages/coding-agent/test/modes/utils/render-initial-messages.test.ts index e0a5e31af..03f64ac3d 100644 --- a/packages/coding-agent/test/modes/utils/render-initial-messages.test.ts +++ b/packages/coding-agent/test/modes/utils/render-initial-messages.test.ts @@ -62,7 +62,7 @@ function makeCtx(): { const ctx = { chatContainer: { clear: vi.fn(), addChild: vi.fn() }, - pendingMessagesContainer: { clear: vi.fn() }, + pendingMessagesContainer: { clear: vi.fn(), disposeChildren: vi.fn() }, pendingBashComponents: [], pendingPythonComponents: [], session: { buildTranscriptSessionContext: transcriptSpy },