import { describe, expect, it } from "vitest"; import { groupProjects, matchProject } from "@/lib/project-match"; const rows = [ { session_id: "b", prompt: "add a dark theme", created_at: "2026-11-02T10:00:00Z" }, { session_id: "a", prompt: "bakery landing page", created_at: "2026-11-01T10:00:00Z" }, { session_id: "b", prompt: "todo app for my team", created_at: "2026-10-30T10:00:00Z" }, ]; const projects = groupProjects(rows); describe("saved project voice lookup", () => { it("groups builds into one project per session titled by its first request", () => { expect(projects.map((p) => [p.project_id, p.title, p.versions])).toEqual([["b", "todo app for my team", 2], ["a", "bakery landing page", 1]]); }); it("opens the latest project", () => expect(matchProject(projects, "latest")?.project_id).toBe("b")); it("opens by list number", () => expect(matchProject(projects, "2")?.project_id).toBe("a")); it("opens by spoken name", () => expect(matchProject(projects, "the bakery website")?.project_id).toBe("a")); it("returns nothing when no project matches", () => expect(matchProject(projects, "spaceship game")).toBeNull()); });