25 lines
1.1 KiB
TypeScript
25 lines
1.1 KiB
TypeScript
import assert from "node:assert/strict";
|
|
import test from "node:test";
|
|
import { mapSessionsListToSummaries } from "../src/mappers/openclaw-mappers";
|
|
|
|
test("session list mapping keeps explicit runtime issue states instead of flattening them to active/idle", () => {
|
|
const mapped = mapSessionsListToSummaries({
|
|
sessions: [
|
|
{ sessionKey: "sess-blocked", active: true, state: "blocked" },
|
|
{ sessionKey: "sess-error", active: false, state: "failed" },
|
|
{ sessionKey: "sess-wait", active: true, state: "waiting_approval" },
|
|
{ sessionKey: "sess-running", active: true, state: "busy" },
|
|
{ sessionKey: "sess-idle", active: true, state: "done" },
|
|
{ sessionKey: "sess-fallback", active: true },
|
|
],
|
|
});
|
|
|
|
const byKey = new Map(mapped.map((item) => [item.sessionKey, item.state]));
|
|
assert.equal(byKey.get("sess-blocked"), "blocked");
|
|
assert.equal(byKey.get("sess-error"), "error");
|
|
assert.equal(byKey.get("sess-wait"), "waiting_approval");
|
|
assert.equal(byKey.get("sess-running"), "running");
|
|
assert.equal(byKey.get("sess-idle"), "idle");
|
|
assert.equal(byKey.get("sess-fallback"), "running");
|
|
});
|