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