import { collections } from "$lib/server/database"; import { ObjectId } from "mongodb"; import { describe, expect, it } from "vitest"; import { convertLegacyConversation } from "./convertLegacyConversation"; import { insertLegacyConversation } from "./treeHelpers.spec"; describe("convertLegacyConversation", () => { it("should convert a legacy conversation", async () => { const convId = await insertLegacyConversation(); const conv = await collections.conversations.findOne({ _id: new ObjectId(convId) }); if (!conv) throw new Error("Conversation not found"); const newConv = convertLegacyConversation(conv); expect(newConv.rootMessageId).toBe(newConv.messages[0].id); expect(newConv.messages[0].ancestors).toEqual([]); expect(newConv.messages[1].ancestors).toEqual([newConv.messages[0].id]); expect(newConv.messages[0].children).toEqual([newConv.messages[1].id]); }); it("should work on empty conversations", async () => { const conv = { _id: new ObjectId(), rootMessageId: undefined, messages: [], }; const newConv = convertLegacyConversation(conv); expect(newConv.rootMessageId).toBe(undefined); expect(newConv.messages).toEqual([]); }); });