refactor(relay): add --smoke entrypoint
This commit is contained in:
37
src/macos/relay-smoke.test.ts
Normal file
37
src/macos/relay-smoke.test.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import { parseRelaySmokeTest, runRelaySmokeTest } from "./relay-smoke.js";
|
||||
|
||||
vi.mock("../web/qr-image.js", () => ({
|
||||
renderQrPngBase64: vi.fn(async () => "base64"),
|
||||
}));
|
||||
|
||||
describe("parseRelaySmokeTest", () => {
|
||||
it("parses --smoke qr", () => {
|
||||
expect(parseRelaySmokeTest(["--smoke", "qr"], {})).toBe("qr");
|
||||
});
|
||||
|
||||
it("parses --smoke-qr", () => {
|
||||
expect(parseRelaySmokeTest(["--smoke-qr"], {})).toBe("qr");
|
||||
});
|
||||
|
||||
it("parses env var smoke mode only when no args", () => {
|
||||
expect(parseRelaySmokeTest([], { CLAWDBOT_SMOKE_QR: "1" })).toBe("qr");
|
||||
expect(parseRelaySmokeTest(["send"], { CLAWDBOT_SMOKE_QR: "1" })).toBe(
|
||||
null,
|
||||
);
|
||||
});
|
||||
|
||||
it("rejects unknown smoke values", () => {
|
||||
expect(() => parseRelaySmokeTest(["--smoke", "nope"], {})).toThrow(
|
||||
"Unknown smoke test",
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe("runRelaySmokeTest", () => {
|
||||
it("runs qr smoke test", async () => {
|
||||
await runRelaySmokeTest("qr");
|
||||
const mod = await import("../web/qr-image.js");
|
||||
expect(mod.renderQrPngBase64).toHaveBeenCalledWith("smoke-test");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user