AkurAI Build
Menu

popagent

public

Latest change 6edc7e928c57dab23c0973ed3f7ee70b3ebb72d5 - Initial popagent baseline by AkurAI Build

import { describe, expect, test } from "bun:test";
import { runMaintenanceOnce } from "./maintenance";

describe("runMaintenanceOnce", () => {
  test("prunes episodes and cleans hook audit", async () => {
    const calls: string[] = [];
    await runMaintenanceOnce({
      memory: { pruneEpisodes: async () => { calls.push("pruneEpisodes"); } },
      audit: { cleanupAll: async () => { calls.push("cleanupAll"); } },
    });
    expect(calls.sort()).toEqual(["cleanupAll", "pruneEpisodes"]);
  });

  test("propagates store failures to the caller", async () => {
    await expect(runMaintenanceOnce({
      memory: { pruneEpisodes: async () => { throw new Error("prune failed"); } },
      audit: { cleanupAll: async () => undefined },
    })).rejects.toThrow("prune failed");
  });
});