Menu
popagent
publicLatest change 62f685314a2172a23c717ce4fe12027a662a406c - Make tests clean up persistent state by AkurAI Build
import { afterAll, describe, expect, test } from "bun:test";
import { RequestContext } from "@mastra/core/request-context";
import { longTermMemory } from "../long-term-memory";
import { remember } from "./remember";
const resourceId = `remember-tool-${crypto.randomUUID()}`;
afterAll(() => longTermMemory.storage.db.none(
"DELETE FROM popagent_memories WHERE resource_id = $1",
[resourceId],
));
describe("remember", () => {
test("stores a fact in the current resource", async () => {
const requestContext = new RequestContext();
requestContext.set("popagent.resourceId", resourceId);
requestContext.set("popagent.sessionId", "tool-session");
expect(await remember.execute?.(
{ key: "accessibility.navigation", fact: "The user prefers keyboard navigation.", importance: 0.9 },
{ requestContext } as never,
)).toEqual({ remembered: true });
expect(await longTermMemory.recall({
resourceId,
query: "keyboard navigation preference",
})).toContainEqual(expect.objectContaining({ kind: "fact" }));
});
});