| 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([]); |
| }); |
| }); |
|
|