Agent-JAE/packages/coding-agent/test/session-manager/custom-session-id.test.ts

35 lines
1.1 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { SessionManager } from "../../src/core/session-manager.js";
describe("SessionManager.newSession with custom id", () => {
it("uses the provided id instead of generating one", () => {
const session = SessionManager.inMemory();
session.newSession({ id: "my-custom-id" });
expect(session.getSessionId()).toBe("my-custom-id");
});
it("generates a random id when no id is provided", () => {
const session = SessionManager.inMemory();
session.newSession();
const id = session.getSessionId();
expect(id).toBeDefined();
expect(id).not.toBe("");
});
it("generates a random id when options is provided without id", () => {
const session = SessionManager.inMemory();
session.newSession({ parentSession: "parent.jsonl" });
const id = session.getSessionId();
expect(id).toBeDefined();
expect(id).not.toBe("");
});
it("includes the custom id in the session header", () => {
const session = SessionManager.inMemory();
session.newSession({ id: "header-test-id" });
const header = session.getHeader();
expect(header).not.toBeNull();
expect(header!.id).toBe("header-test-id");
});
});