35 lines
1.1 KiB
TypeScript
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");
|
|
});
|
|
});
|