refactor: consolidate agent/editor plugins under integrations/ (#5491)
Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import { describe, it, expect } from "vitest";
|
||||
import { formatAge, formatMemoryCompact, formatMemoryList } from "../src/memory/formatting.ts";
|
||||
|
||||
describe("formatAge", () => {
|
||||
it("formats minutes", () => {
|
||||
expect(formatAge(new Date(Date.now() - 30 * 60_000))).toBe("30m ago");
|
||||
});
|
||||
|
||||
it("formats hours", () => {
|
||||
expect(formatAge(new Date(Date.now() - 3 * 3_600_000))).toBe("3h ago");
|
||||
});
|
||||
|
||||
it("formats days", () => {
|
||||
expect(formatAge(new Date(Date.now() - 5 * 86_400_000))).toBe("5d ago");
|
||||
});
|
||||
});
|
||||
|
||||
describe("formatMemoryCompact", () => {
|
||||
it("formats a memory as a single line", () => {
|
||||
const mem = {
|
||||
id: "abc-123-def-456",
|
||||
memory: "User prefers dark mode",
|
||||
categories: ["preference"],
|
||||
createdAt: new Date(),
|
||||
};
|
||||
const line = formatMemoryCompact(mem);
|
||||
expect(line).toContain("[preference]");
|
||||
expect(line).toContain("User prefers dark mode");
|
||||
expect(line).toContain("[mem0:abc-123-def-456]");
|
||||
});
|
||||
});
|
||||
|
||||
describe("formatMemoryList", () => {
|
||||
it("formats multiple memories with numbering", () => {
|
||||
const memories = [
|
||||
{ id: "id-1", memory: "Fact one", categories: ["insight"], createdAt: new Date() },
|
||||
{ id: "id-2", memory: "Fact two", categories: ["convention"], createdAt: new Date() },
|
||||
];
|
||||
const output = formatMemoryList(memories);
|
||||
expect(output).toContain("1.");
|
||||
expect(output).toContain("2.");
|
||||
});
|
||||
|
||||
it("returns empty message for no memories", () => {
|
||||
expect(formatMemoryList([])).toBe("No memories found.");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user