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