fix(pairing): accept positional provider args
This commit is contained in:
@@ -2,10 +2,11 @@ import { Command } from "commander";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
|
||||
const listProviderPairingRequests = vi.fn();
|
||||
const approveProviderPairingCode = vi.fn();
|
||||
|
||||
vi.mock("../pairing/pairing-store.js", () => ({
|
||||
listProviderPairingRequests,
|
||||
approveProviderPairingCode: vi.fn(),
|
||||
approveProviderPairingCode,
|
||||
}));
|
||||
|
||||
vi.mock("../telegram/send.js", () => ({
|
||||
@@ -61,6 +62,18 @@ describe("pairing cli", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("accepts provider as positional for list", async () => {
|
||||
const { registerPairingCli } = await import("./pairing-cli.js");
|
||||
listProviderPairingRequests.mockResolvedValueOnce([]);
|
||||
|
||||
const program = new Command();
|
||||
program.name("test");
|
||||
registerPairingCli(program);
|
||||
await program.parseAsync(["pairing", "list", "telegram"], { from: "user" });
|
||||
|
||||
expect(listProviderPairingRequests).toHaveBeenCalledWith("telegram");
|
||||
});
|
||||
|
||||
it("labels Discord ids as discordUserId", async () => {
|
||||
const { registerPairingCli } = await import("./pairing-cli.js");
|
||||
listProviderPairingRequests.mockResolvedValueOnce([
|
||||
@@ -84,4 +97,31 @@ describe("pairing cli", () => {
|
||||
expect.stringContaining("discordUserId=999"),
|
||||
);
|
||||
});
|
||||
|
||||
it("accepts provider as positional for approve (npm-run compatible)", async () => {
|
||||
const { registerPairingCli } = await import("./pairing-cli.js");
|
||||
approveProviderPairingCode.mockResolvedValueOnce({
|
||||
id: "123",
|
||||
entry: {
|
||||
id: "123",
|
||||
code: "ABCDEFGH",
|
||||
createdAt: "2026-01-08T00:00:00Z",
|
||||
lastSeenAt: "2026-01-08T00:00:00Z",
|
||||
},
|
||||
});
|
||||
|
||||
const log = vi.spyOn(console, "log").mockImplementation(() => {});
|
||||
const program = new Command();
|
||||
program.name("test");
|
||||
registerPairingCli(program);
|
||||
await program.parseAsync(["pairing", "approve", "telegram", "ABCDEFGH"], {
|
||||
from: "user",
|
||||
});
|
||||
|
||||
expect(approveProviderPairingCode).toHaveBeenCalledWith({
|
||||
provider: "telegram",
|
||||
code: "ABCDEFGH",
|
||||
});
|
||||
expect(log).toHaveBeenCalledWith(expect.stringContaining("Approved"));
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user