test(telegram): use shared delivery mock in registry test

This commit is contained in:
Vincent Koc 2026-03-31 22:18:29 +09:00
parent 3f2fb73cfe
commit ff36bc314d
1 changed files with 8 additions and 14 deletions

View File

@ -1,8 +1,5 @@
import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime";
import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
const deliveryMocks = vi.hoisted(() => ({
deliverReplies: vi.fn(async () => ({ delivered: true })),
}));
let registerTelegramNativeCommands: typeof import("./bot-native-commands.js").registerTelegramNativeCommands;
let clearPluginCommands: typeof import("../../../src/plugins/commands.js").clearPluginCommands;
@ -10,6 +7,8 @@ let registerPluginCommand: typeof import("../../../src/plugins/commands.js").reg
let createCommandBot: typeof import("./bot-native-commands.menu-test-support.js").createCommandBot;
let createNativeCommandTestParams: typeof import("./bot-native-commands.menu-test-support.js").createNativeCommandTestParams;
let createPrivateCommandContext: typeof import("./bot-native-commands.menu-test-support.js").createPrivateCommandContext;
let deliverReplies: typeof import("./bot-native-commands.menu-test-support.js").deliverReplies;
let resetNativeCommandMenuMocks: typeof import("./bot-native-commands.menu-test-support.js").resetNativeCommandMenuMocks;
let waitForRegisteredCommands: typeof import("./bot-native-commands.menu-test-support.js").waitForRegisteredCommands;
function registerPairPluginCommand(params?: {
@ -47,12 +46,6 @@ async function registerPairMenu(params: {
describe("registerTelegramNativeCommands real plugin registry", () => {
beforeAll(async () => {
vi.resetModules();
vi.doMock("./bot/delivery.js", () => ({
deliverReplies: deliveryMocks.deliverReplies,
}));
vi.doMock("./bot/delivery.replies.js", () => ({
deliverReplies: deliveryMocks.deliverReplies,
}));
({ clearPluginCommands, registerPluginCommand } =
await import("../../../src/plugins/commands.js"));
({ registerTelegramNativeCommands } = await import("./bot-native-commands.js"));
@ -60,14 +53,15 @@ describe("registerTelegramNativeCommands real plugin registry", () => {
createCommandBot,
createNativeCommandTestParams,
createPrivateCommandContext,
deliverReplies,
resetNativeCommandMenuMocks,
waitForRegisteredCommands,
} = await import("./bot-native-commands.menu-test-support.js"));
});
beforeEach(() => {
clearPluginCommands();
deliveryMocks.deliverReplies.mockClear();
deliveryMocks.deliverReplies.mockResolvedValue({ delivered: true });
resetNativeCommandMenuMocks();
});
afterEach(() => {
@ -87,7 +81,7 @@ describe("registerTelegramNativeCommands real plugin registry", () => {
await handler?.(createPrivateCommandContext({ match: "now" }));
expect(deliveryMocks.deliverReplies).toHaveBeenCalledWith(
expect(deliverReplies).toHaveBeenCalledWith(
expect.objectContaining({
replies: [expect.objectContaining({ text: "paired:now" })],
}),
@ -115,7 +109,7 @@ describe("registerTelegramNativeCommands real plugin registry", () => {
await handler?.(createPrivateCommandContext({ match: "now", messageId: 2 }));
expect(deliveryMocks.deliverReplies).toHaveBeenCalledWith(
expect(deliverReplies).toHaveBeenCalledWith(
expect.objectContaining({
replies: [expect.objectContaining({ text: "paired:now" })],
}),
@ -167,7 +161,7 @@ describe("registerTelegramNativeCommands real plugin registry", () => {
}),
);
expect(deliveryMocks.deliverReplies).toHaveBeenCalledWith(
expect(deliverReplies).toHaveBeenCalledWith(
expect.objectContaining({
replies: [expect.objectContaining({ text: "paired:now" })],
}),