mirror of https://github.com/openclaw/openclaw.git
56 lines
1.4 KiB
TypeScript
56 lines
1.4 KiB
TypeScript
import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime";
|
|
import { describe, expect, it, vi } from "vitest";
|
|
import { telegramPairingText } from "./pairing-text.js";
|
|
import { clearTelegramRuntime, setTelegramRuntime } from "./runtime.js";
|
|
|
|
function createCfg(): OpenClawConfig {
|
|
return {
|
|
channels: {
|
|
telegram: {
|
|
enabled: true,
|
|
accounts: {
|
|
ops: { botToken: "token-ops" },
|
|
},
|
|
},
|
|
},
|
|
} as OpenClawConfig;
|
|
}
|
|
|
|
describe("telegramPairingText", () => {
|
|
it("preserves accountId for pairing approval sends", async () => {
|
|
const sendMessageTelegram = vi.fn(async () => ({ messageId: "tg-pair", chatId: "12345" }));
|
|
const resolveTelegramToken = vi.fn(async () => ({ token: "token-ops", source: "config" }));
|
|
setTelegramRuntime({
|
|
channel: {
|
|
telegram: {
|
|
sendMessageTelegram,
|
|
resolveTelegramToken,
|
|
},
|
|
},
|
|
logging: {
|
|
shouldLogVerbose: () => false,
|
|
},
|
|
} as never);
|
|
|
|
await telegramPairingText.notify({
|
|
cfg: createCfg(),
|
|
id: "12345",
|
|
message: "approved",
|
|
accountId: "ops",
|
|
});
|
|
|
|
expect(resolveTelegramToken).toHaveBeenCalledWith(createCfg(), {
|
|
accountId: "ops",
|
|
});
|
|
expect(sendMessageTelegram).toHaveBeenCalledWith(
|
|
"12345",
|
|
"approved",
|
|
expect.objectContaining({
|
|
token: "token-ops",
|
|
accountId: "ops",
|
|
}),
|
|
);
|
|
clearTelegramRuntime();
|
|
});
|
|
});
|