Files
buzz/desktop/src/features/agents/ui/rawEventRail.test.mjs
2026-06-30 12:19:06 -07:00

43 lines
1.3 KiB
JavaScript

import assert from "node:assert/strict";
import test from "node:test";
import { describeRawEvent } from "./agentSessionTranscriptHelpers.ts";
function rawEvent(overrides = {}) {
return {
seq: 1,
kind: "acp",
sessionId: "sess-1",
channelId: "channel-1",
payload: {},
...overrides,
};
}
test("describeRawEvent surfaces the session/update sessionUpdate label", () => {
const event = rawEvent({
payload: {
method: "session/update",
params: { update: { sessionUpdate: "agent_message_chunk" } },
},
});
assert.equal(describeRawEvent(event), "agent_message_chunk");
});
test("describeRawEvent falls back to the method when session/update lacks an update label", () => {
const event = rawEvent({
payload: { method: "session/update", params: {} },
});
assert.equal(describeRawEvent(event), "session/update");
});
test("describeRawEvent uses the method for non-session/update payloads", () => {
const event = rawEvent({ payload: { method: "session/prompt" } });
assert.equal(describeRawEvent(event), "session/prompt");
});
test("describeRawEvent falls back to the event kind when no method is present", () => {
const event = rawEvent({ kind: "acp_parse_error", payload: {} });
assert.equal(describeRawEvent(event), "acp_parse_error");
});