From 7dcd5f175130c5ef6d6fc655847fd829d7cd2b5f Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Fri, 3 Apr 2026 16:44:41 -0400 Subject: [PATCH] fix: use deterministic timestamps in convoStructure test MongoDB 8.x (from mongodb-memory-server v11) no longer guarantees insertion-order return for documents with identical timestamps. Use sequential timestamps with overrideTimestamp to ensure buildTree processes parents before children. --- packages/data-schemas/src/methods/convoStructure.spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/data-schemas/src/methods/convoStructure.spec.ts b/packages/data-schemas/src/methods/convoStructure.spec.ts index 77a9913233..6ec2cf8c0e 100644 --- a/packages/data-schemas/src/methods/convoStructure.spec.ts +++ b/packages/data-schemas/src/methods/convoStructure.spec.ts @@ -116,11 +116,11 @@ describe('Conversation Structure Tests', () => { conversationId, user: userId, text: `Message ${i}`, - createdAt: new Date(Date.now() + (i % 2 === 0 ? i * 500000 : -i * 500000)), + createdAt: new Date(Date.now() + i * 1000), })); - // Save messages with new timestamps being generated (message objects ignored) - await bulkSaveMessages(messages); + // Save messages preserving original timestamps so sort order is deterministic + await bulkSaveMessages(messages, true); // Retrieve messages (this will sort by createdAt, but it shouldn't matter now) const retrievedMessages = await getMessages({ conversationId, user: userId });