mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-26 13:49:32 +00:00
54 lines
1.6 KiB
TypeScript
54 lines
1.6 KiB
TypeScript
// Cron cause display tests cover cron error-cause formatting for users.
|
|
import { describe, expect, it } from "vitest";
|
|
import { defaultRuntime } from "../../runtime.js";
|
|
import { printCronJson } from "./shared.js";
|
|
|
|
describe("printCronJson cause display", () => {
|
|
it("adds an additive cause without changing raw cron run errors", () => {
|
|
let written: unknown;
|
|
const original = defaultRuntime.writeJson;
|
|
defaultRuntime.writeJson = (value: unknown) => {
|
|
written = value;
|
|
};
|
|
try {
|
|
printCronJson({
|
|
entries: [
|
|
{
|
|
ts: 1,
|
|
jobId: "job-1",
|
|
action: "finished",
|
|
status: "error",
|
|
errorReason: "timeout",
|
|
error: "cron: job execution timed out",
|
|
},
|
|
],
|
|
});
|
|
} finally {
|
|
defaultRuntime.writeJson = original;
|
|
}
|
|
|
|
const result = written as { entries: Array<Record<string, unknown>> };
|
|
expect(result.entries[0]?.cause).toBe("timeout");
|
|
expect(result.entries[0]?.error).toBe("cron: job execution timed out");
|
|
expect(result.entries[0]?.errorReason).toBe("timeout");
|
|
});
|
|
|
|
it("does not add cause fields to non-run-log entries", () => {
|
|
let written: unknown;
|
|
const original = defaultRuntime.writeJson;
|
|
defaultRuntime.writeJson = (value: unknown) => {
|
|
written = value;
|
|
};
|
|
try {
|
|
printCronJson({
|
|
entries: [{ errorReason: "timeout", status: "error" }],
|
|
});
|
|
} finally {
|
|
defaultRuntime.writeJson = original;
|
|
}
|
|
|
|
const result = written as { entries: Array<Record<string, unknown>> };
|
|
expect(result.entries[0]?.cause).toBeUndefined();
|
|
});
|
|
});
|