feat(telegram): show user id in pairing
This commit is contained in:
64
src/cli/pairing-cli.test.ts
Normal file
64
src/cli/pairing-cli.test.ts
Normal file
@@ -0,0 +1,64 @@
|
||||
import { Command } from "commander";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
|
||||
const listProviderPairingRequests = vi.fn();
|
||||
|
||||
vi.mock("../pairing/pairing-store.js", () => ({
|
||||
listProviderPairingRequests,
|
||||
approveProviderPairingCode: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("../telegram/send.js", () => ({
|
||||
sendMessageTelegram: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("../discord/send.js", () => ({
|
||||
sendMessageDiscord: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("../slack/send.js", () => ({
|
||||
sendMessageSlack: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("../signal/send.js", () => ({
|
||||
sendMessageSignal: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("../imessage/send.js", () => ({
|
||||
sendMessageIMessage: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock("../config/config.js", () => ({
|
||||
loadConfig: vi.fn().mockReturnValue({}),
|
||||
}));
|
||||
|
||||
vi.mock("../telegram/token.js", () => ({
|
||||
resolveTelegramToken: vi.fn().mockReturnValue({ token: "t" }),
|
||||
}));
|
||||
|
||||
describe("pairing cli", () => {
|
||||
it("labels Telegram ids as telegramUserId", async () => {
|
||||
const { registerPairingCli } = await import("./pairing-cli.js");
|
||||
listProviderPairingRequests.mockResolvedValueOnce([
|
||||
{
|
||||
id: "123",
|
||||
code: "ABC123",
|
||||
createdAt: "2026-01-08T00:00:00Z",
|
||||
lastSeenAt: "2026-01-08T00:00:00Z",
|
||||
meta: { username: "peter" },
|
||||
},
|
||||
]);
|
||||
|
||||
const log = vi.spyOn(console, "log").mockImplementation(() => {});
|
||||
const program = new Command();
|
||||
program.name("test");
|
||||
registerPairingCli(program);
|
||||
await program.parseAsync(["pairing", "list", "--provider", "telegram"], {
|
||||
from: "user",
|
||||
});
|
||||
expect(log).toHaveBeenCalledWith(
|
||||
expect.stringContaining("telegramUserId=123"),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -93,8 +93,9 @@ export function registerPairingCli(program: Command) {
|
||||
}
|
||||
for (const r of requests) {
|
||||
const meta = r.meta ? JSON.stringify(r.meta) : "";
|
||||
const idLabel = provider === "telegram" ? "telegramUserId" : "id";
|
||||
console.log(
|
||||
`${r.code} id=${r.id}${meta ? ` meta=${meta}` : ""} ${r.createdAt}`,
|
||||
`${r.code} ${idLabel}=${r.id}${meta ? ` meta=${meta}` : ""} ${r.createdAt}`,
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user