import * as cut from "./memory-builder";

describe("MemoryBuilder", () => {
  it("should be implemented", () => {
    expect(cut.BedrockMemoryBuilder).toBeDefined();
    expect(cut.BedrockMemoryBuilder.prototype.addMemory).toBeDefined();
    expect(typeof cut.BedrockMemoryBuilder.prototype.addMemory).toBe(
      "function"
    );
    expect(cut.BedrockMemoryBuilder.prototype.build).toBeDefined();
    expect(typeof cut.BedrockMemoryBuilder.prototype.build).toBe("function");
  });

  it("should add memory and build correctly", () => {
    const builder = new cut.BedrockMemoryBuilder();
    builder.addMemory("User prefers short responses.");
    const memories = builder.build();

    expect(memories).toEqual([{ text: "User prefers short responses." }]);
  });

  it("should return empty array when no memories are added", () => {
    const builder = new cut.BedrockMemoryBuilder();
    const memories = builder.build();

    expect(memories).toEqual([]);
  });
});
