mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-29 10:50:58 +00:00
test: mock telegram conversation route seam
This commit is contained in:
@@ -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);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user