You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.6 KiB

import { readFileSync } from "node:fs";
import { join } from "node:path";
import { describe, expect, it } from "vitest";
const SCRIPT_PATH = join(process.cwd(), "scripts", "record-mothership.sh");
describe("record-mothership.sh (task-121)", () => {
const content = readFileSync(SCRIPT_PATH, "utf8");
it("存在且包含 headed 与 codegen 启动", () => {
expect(content).toContain("RPA_HEADLESS=false");
expect(content).toContain("playwright");
expect(content).toContain("codegen");
});
it("禁止 GD-15 黑名单 URL", () => {
expect(content).toContain("dashboard.mothership.com");
expect(content).toContain("www.mothership.com/quote");
expect(content).toContain("check_url");
});
it("产出录制脚本与 storageState 路径", () => {
expect(content).toContain(".rpa/recordings");
expect(content).toContain("mothership-storage.json");
expect(content).toContain("--save-storage");
});
});
const TS_SCRIPT_PATH = join(process.cwd(), "scripts", "record-mothership.ts");
describe("record-mothership.ts (Windows 跨平台)", () => {
const content = readFileSync(TS_SCRIPT_PATH, "utf8");
it("存在且包含 headed codegen 与 GD-15 校验", () => {
expect(content).toContain('RPA_HEADLESS: "false"');
expect(content).toContain("playwright");
expect(content).toContain("codegen");
expect(content).toContain("isForbiddenQuoteUrl");
});
it("产出录制脚本与 storageState 路径", () => {
expect(content).toContain(".rpa/recordings");
expect(content).toContain("mothership-storage.json");
expect(content).toContain("--save-storage");
});
});