openclaw/src/tui/tui.test.ts
2026-02-14 16:40:37 -08:00

50 lines
1.3 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { resolveFinalAssistantText, resolveTuiSessionKey } from "./tui.js";
describe("resolveFinalAssistantText", () => {
it("falls back to streamed text when final text is empty", () => {
expect(resolveFinalAssistantText({ finalText: "", streamedText: "Hello" })).toBe("Hello");
});
it("prefers the final text when present", () => {
expect(
resolveFinalAssistantText({
finalText: "All done",
streamedText: "partial",
}),
).toBe("All done");
});
});
describe("resolveTuiSessionKey", () => {
it("uses global only as the default when scope is global", () => {
expect(
resolveTuiSessionKey({
raw: "",
sessionScope: "global",
currentAgentId: "main",
sessionMainKey: "agent:main:main",
}),
).toBe("global");
expect(
resolveTuiSessionKey({
raw: "test123",
sessionScope: "global",
currentAgentId: "main",
sessionMainKey: "agent:main:main",
}),
).toBe("agent:main:test123");
});
it("keeps explicit agent-prefixed keys unchanged", () => {
expect(
resolveTuiSessionKey({
raw: "agent:ops:incident",
sessionScope: "global",
currentAgentId: "main",
sessionMainKey: "agent:main:main",
}),
).toBe("agent:ops:incident");
});
});