test: mock telegram conversation route seam

This commit is contained in:
Ayaan Zaidi
2026-03-28 13:17:57 +05:30
parent d9e7178534
commit 8366c74ccd

View File

@@ -1,22 +1,26 @@
import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import { createConfiguredBindingConversationRuntimeModuleMock } from "../../../test/helpers/extensions/configured-binding-runtime.js";
const ensureConfiguredBindingRouteReadyMock = vi.hoisted(() => vi.fn());
const recordInboundSessionMock = vi.hoisted(() => vi.fn().mockResolvedValue(undefined));
const resolveConfiguredBindingRouteMock = vi.hoisted(() => vi.fn());
const resolveTelegramConversationRouteMock = vi.hoisted(() => vi.fn());
vi.mock("openclaw/plugin-sdk/conversation-runtime", async (importOriginal) => {
const actual = await importOriginal<typeof import("openclaw/plugin-sdk/conversation-runtime")>();
return {
...(await createConfiguredBindingConversationRuntimeModuleMock(
{
ensureConfiguredBindingRouteReadyMock,
resolveConfiguredBindingRouteMock,
},
importOriginal,
)),
...actual,
ensureConfiguredBindingRouteReady: (...args: unknown[]) =>
ensureConfiguredBindingRouteReadyMock(...args),
recordInboundSession: (...args: unknown[]) => recordInboundSessionMock(...args),
};
});
vi.mock("./conversation-route.js", async (importOriginal) => {
const actual = await importOriginal<typeof import("./conversation-route.js")>();
return {
...actual,
resolveTelegramConversationRoute: (...args: unknown[]) =>
resolveTelegramConversationRouteMock(...args),
};
});
let buildTelegramMessageContextForTest: typeof import("./bot-message-context.test-harness.js").buildTelegramMessageContextForTest;
@@ -54,7 +58,7 @@ function createConfiguredTelegramBinding() {
function createConfiguredTelegramRoute() {
const configuredBinding = createConfiguredTelegramBinding();
return {
bindingResolution: {
configuredBinding: {
conversation: {
channel: "telegram",
accountId: "work",
@@ -117,8 +121,7 @@ function createConfiguredTelegramRoute() {
agentId: configuredBinding.spec.agentId,
},
},
configuredBinding,
boundSessionKey: configuredBinding.record.targetSessionKey,
configuredBindingSessionKey: configuredBinding.record.targetSessionKey,
route: {
agentId: "codex",
accountId: "work",
@@ -141,8 +144,8 @@ describe("buildTelegramMessageContext ACP configured bindings", () => {
beforeEach(() => {
ensureConfiguredBindingRouteReadyMock.mockReset();
recordInboundSessionMock.mockClear();
resolveConfiguredBindingRouteMock.mockReset();
resolveConfiguredBindingRouteMock.mockReturnValue(createConfiguredTelegramRoute());
resolveTelegramConversationRouteMock.mockReset();
resolveTelegramConversationRouteMock.mockReturnValue(createConfiguredTelegramRoute());
ensureConfiguredBindingRouteReadyMock.mockResolvedValue({ ok: true });
});
@@ -181,7 +184,7 @@ describe("buildTelegramMessageContext ACP configured bindings", () => {
});
expect(ctx).toBeNull();
expect(resolveConfiguredBindingRouteMock).toHaveBeenCalledTimes(1);
expect(resolveTelegramConversationRouteMock).toHaveBeenCalledTimes(1);
expect(ensureConfiguredBindingRouteReadyMock).not.toHaveBeenCalled();
});
@@ -204,7 +207,7 @@ describe("buildTelegramMessageContext ACP configured bindings", () => {
});
expect(ctx).toBeNull();
expect(resolveConfiguredBindingRouteMock).toHaveBeenCalledTimes(1);
expect(resolveTelegramConversationRouteMock).toHaveBeenCalledTimes(1);
expect(ensureConfiguredBindingRouteReadyMock).not.toHaveBeenCalled();
});
@@ -224,7 +227,7 @@ describe("buildTelegramMessageContext ACP configured bindings", () => {
});
expect(ctx).toBeNull();
expect(resolveConfiguredBindingRouteMock).toHaveBeenCalledTimes(1);
expect(resolveTelegramConversationRouteMock).toHaveBeenCalledTimes(1);
expect(ensureConfiguredBindingRouteReadyMock).toHaveBeenCalledTimes(1);
});
});