Files
yoi/tools/web-ux/tests/cli_test.ts

27 lines
944 B
TypeScript

import { assertEquals, assertThrows } from "@std/assert";
import { parseArguments } from "../cli.ts";
import { isVisibleUiErrorText } from "../src/capture.ts";
Deno.test("CLI parses bounded capture filters", () => {
const parsed = parseArguments([
"capture",
"--scenario",
"scenario.json",
"--personas",
"owner,non-owner",
"--headed",
]);
assertEquals(parsed.command, "capture");
assertEquals(parsed.values.get("personas"), ["owner,non-owner"]);
assertEquals(parsed.flags.has("headed"), true);
});
Deno.test("visible UI error classification ignores ordinary status text", () => {
assertEquals(isVisibleUiErrorText("Refresh failed (401 Unauthorized)"), true);
assertEquals(isVisibleUiErrorText("Workspace list loaded"), false);
});
Deno.test("CLI rejects positional and missing option values", () => {
assertThrows(() => parseArguments(["capture", "scenario.json"]), Error, "unexpected argument");
});