Files
openclaw/test/scripts/docker-e2e-crestodian.test.ts
2026-06-18 03:46:17 +02:00

53 lines
2.6 KiB
TypeScript

// Crestodian Docker E2E tests cover packaged-dist harness wiring.
import { readFileSync } from "node:fs";
import { describe, expect, it } from "vitest";
function readScript(pathname: string): string {
return readFileSync(pathname, "utf8");
}
describe("Crestodian Docker E2E scripts", () => {
it("keeps first-run checks wired to packaged CLI and Crestodian behavior", () => {
const source = readScript("scripts/e2e/crestodian-first-run-docker-client.ts");
const spec = readScript("scripts/e2e/crestodian-first-run-spec.json");
expect(source).toContain("../../dist/cli/run-main.js");
expect(source).toContain("../../dist/crestodian/crestodian.js");
expect(source).toContain("shouldStartOnboardingForFreshInstall");
expect(source).toContain("shouldStartCrestodianForModernOnboard");
expect(source).toContain("runCli([\"node\", \"openclaw\", \"onboard\"");
expect(source).toContain("runCrestodian(");
expect(source).toContain("Config: missing");
expect(source).toContain("Crestodian first-run Docker E2E passed");
expect(spec).toContain("\"auditOperations\"");
expect(spec).toContain("\"crestodian.setup\"");
});
it("keeps planner fallback checks wired to packaged Crestodian assistant flow", () => {
const source = readScript("scripts/e2e/crestodian-planner-docker-client.mjs");
expect(source).toContain("../../dist/crestodian/crestodian.js");
expect(source).toContain("installFakeClaudeCli");
expect(source).toContain("claude-cli/claude-opus-4-8");
expect(source).toContain("Fake Claude planner selected a typed model update.");
expect(source).toContain("[crestodian] interpreted: set default model openai/gpt-5.2");
expect(source).toContain("[crestodian] done: config.setDefaultModel");
expect(source).toContain("OpenClaw docs:");
expect(source).toContain("Crestodian planner Docker E2E passed");
});
it("keeps rescue checks wired through auto-reply command handling", () => {
const source = readScript("scripts/e2e/crestodian-rescue-docker-client.ts");
expect(source).toContain("../../dist/auto-reply/reply/commands-crestodian.js");
expect(source).toContain("../../dist/crestodian/rescue-message.js");
expect(source).toContain("handleCrestodianCommand(");
expect(source).toContain("runCrestodianRescueMessage({");
expect(source).toContain("sandboxing is active");
expect(source).toContain("cannot open the local TUI");
expect(source).toContain("[crestodian] done: gateway.restart");
expect(source).toContain("[crestodian] done: doctor.fix");
expect(source).toContain("Crestodian rescue Docker E2E passed");
});
});