mirror of https://github.com/openclaw/openclaw.git
34 lines
993 B
TypeScript
34 lines
993 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { AcpRuntimeError, withAcpRuntimeErrorBoundary } from "./errors.js";
|
|
|
|
describe("withAcpRuntimeErrorBoundary", () => {
|
|
it("wraps generic errors with fallback code and source message", async () => {
|
|
await expect(
|
|
withAcpRuntimeErrorBoundary({
|
|
run: async () => {
|
|
throw new Error("boom");
|
|
},
|
|
fallbackCode: "ACP_TURN_FAILED",
|
|
fallbackMessage: "fallback",
|
|
}),
|
|
).rejects.toMatchObject({
|
|
name: "AcpRuntimeError",
|
|
code: "ACP_TURN_FAILED",
|
|
message: "boom",
|
|
});
|
|
});
|
|
|
|
it("passes through existing ACP runtime errors", async () => {
|
|
const existing = new AcpRuntimeError("ACP_BACKEND_MISSING", "backend missing");
|
|
await expect(
|
|
withAcpRuntimeErrorBoundary({
|
|
run: async () => {
|
|
throw existing;
|
|
},
|
|
fallbackCode: "ACP_TURN_FAILED",
|
|
fallbackMessage: "fallback",
|
|
}),
|
|
).rejects.toBe(existing);
|
|
});
|
|
});
|