From 8c88fb68b772b93e4eb2331935acfbfc1e026586 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Fri, 10 Apr 2026 09:01:56 +0100 Subject: [PATCH] fix(msteams): align handler tests with conversation store --- .../msteams/src/monitor-handler.adaptive-card.test.ts | 8 +++++++- .../src/monitor-handler/message-handler.authz.test.ts | 11 ++++++++--- .../message-handler.thread-session.test.ts | 7 ++++++- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/extensions/msteams/src/monitor-handler.adaptive-card.test.ts b/extensions/msteams/src/monitor-handler.adaptive-card.test.ts index 112cdaac2da..1fa056f6cd6 100644 --- a/extensions/msteams/src/monitor-handler.adaptive-card.test.ts +++ b/extensions/msteams/src/monitor-handler.adaptive-card.test.ts @@ -1,5 +1,6 @@ import { beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig, PluginRuntime, RuntimeEnv } from "../runtime-api.js"; +import type { MSTeamsConversationStore } from "./conversation-store.js"; import { type MSTeamsActivityHandler, type MSTeamsMessageHandlerDeps, @@ -83,8 +84,13 @@ function createDeps(): MSTeamsMessageHandlerDeps { textLimit: 4000, mediaMaxBytes: 1024 * 1024, conversationStore: { + get: vi.fn(async () => null), upsert: vi.fn(async () => undefined), - } as unknown as MSTeamsMessageHandlerDeps["conversationStore"], + list: vi.fn(async () => []), + remove: vi.fn(async () => false), + findPreferredDmByUserId: vi.fn(async () => null), + findByUserId: vi.fn(async () => null), + } satisfies MSTeamsConversationStore, pollStore: { recordVote: vi.fn(async () => null), } as unknown as MSTeamsMessageHandlerDeps["pollStore"], diff --git a/extensions/msteams/src/monitor-handler/message-handler.authz.test.ts b/extensions/msteams/src/monitor-handler/message-handler.authz.test.ts index f4d6da8c438..560a6784b5e 100644 --- a/extensions/msteams/src/monitor-handler/message-handler.authz.test.ts +++ b/extensions/msteams/src/monitor-handler/message-handler.authz.test.ts @@ -1,5 +1,6 @@ import { describe, expect, it, vi } from "vitest"; import type { OpenClawConfig, PluginRuntime, RuntimeEnv } from "../../runtime-api.js"; +import type { MSTeamsConversationStore } from "../conversation-store.js"; import type { GraphThreadMessage } from "../graph-thread.js"; import type { MSTeamsMessageHandlerDeps } from "../monitor-handler.js"; import { setMSTeamsRuntime } from "../runtime.js"; @@ -116,8 +117,13 @@ describe("msteams monitor handler authz", () => { } as unknown as PluginRuntime); const conversationStore = { + get: vi.fn(async () => null), upsert: vi.fn(async () => undefined), - }; + list: vi.fn(async () => []), + remove: vi.fn(async () => false), + findPreferredDmByUserId: vi.fn(async () => null), + findByUserId: vi.fn(async () => null), + } satisfies MSTeamsConversationStore; const deps: MSTeamsMessageHandlerDeps = { cfg, @@ -129,8 +135,7 @@ describe("msteams monitor handler authz", () => { }, textLimit: 4000, mediaMaxBytes: 1024 * 1024, - conversationStore: - conversationStore as unknown as MSTeamsMessageHandlerDeps["conversationStore"], + conversationStore, pollStore: { recordVote: vi.fn(async () => null), } as unknown as MSTeamsMessageHandlerDeps["pollStore"], diff --git a/extensions/msteams/src/monitor-handler/message-handler.thread-session.test.ts b/extensions/msteams/src/monitor-handler/message-handler.thread-session.test.ts index e45d1822690..80679a99be4 100644 --- a/extensions/msteams/src/monitor-handler/message-handler.thread-session.test.ts +++ b/extensions/msteams/src/monitor-handler/message-handler.thread-session.test.ts @@ -1,5 +1,6 @@ import { describe, expect, it, vi } from "vitest"; import type { OpenClawConfig, PluginRuntime, RuntimeEnv } from "../../runtime-api.js"; +import type { MSTeamsConversationStore } from "../conversation-store.js"; import type { MSTeamsMessageHandlerDeps } from "../monitor-handler.js"; import { setMSTeamsRuntime } from "../runtime.js"; import { createMSTeamsMessageHandler } from "./message-handler.js"; @@ -103,7 +104,11 @@ describe("msteams thread session isolation", () => { conversationStore: { get: vi.fn(async () => null), upsert: vi.fn(async () => undefined), - } as unknown as MSTeamsMessageHandlerDeps["conversationStore"], + list: vi.fn(async () => []), + remove: vi.fn(async () => false), + findPreferredDmByUserId: vi.fn(async () => null), + findByUserId: vi.fn(async () => null), + } satisfies MSTeamsConversationStore, pollStore: { recordVote: vi.fn(async () => null), } as unknown as MSTeamsMessageHandlerDeps["pollStore"],