Files
clawdbot/src/macos/relay-smoke.test.ts
Peter Steinberger c379191f80 chore: migrate to oxlint and oxfmt
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
2026-01-14 15:02:19 +00:00

34 lines
1.1 KiB
TypeScript

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");
});
});