From 9d9d7da13d794abd9433209beb886829535e2544 Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Thu, 14 May 2026 16:12:31 +0000 Subject: [PATCH] fix(GRO-985): fix Messages test mocks and scrollIntoView guard - Wrap conversation mocks in { items, nextCursor } response shape (loadConversations reads json.items, bare array caused undefined.length crash) - Guard scrollIntoView with ?. (jsdom doesn't implement it) - Use getAllByText for text appearing in both preview and thread Co-Authored-By: Paperclip --- apps/web/src/__tests__/Messages.test.tsx | 6 +++--- apps/web/src/pages/Messages.tsx | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/web/src/__tests__/Messages.test.tsx b/apps/web/src/__tests__/Messages.test.tsx index b432e7d..c37db80 100644 --- a/apps/web/src/__tests__/Messages.test.tsx +++ b/apps/web/src/__tests__/Messages.test.tsx @@ -96,7 +96,7 @@ describe("MessagesPage", () => { vi.mocked(global.fetch).mockImplementation((input) => { const url = String(input); if (url === "/api/conversations?limit=20") { - return Promise.resolve(makeResponse(mockConversations)); + return Promise.resolve(makeResponse({ items: mockConversations, nextCursor: null })); } if (url === "/api/conversations/conv-1/messages?limit=50") { return Promise.resolve(makeResponse({ items: mockMessages, nextCursor: null })); @@ -110,7 +110,7 @@ describe("MessagesPage", () => { fireEvent.click(screen.getByText("Alice Smith")); await waitFor(() => { - expect(screen.getByText("Hello, is my dog ready?")).toBeInTheDocument(); + expect(screen.getAllByText("Hello, is my dog ready?").length).toBeGreaterThanOrEqual(1); expect(screen.getByText("Yes, she is all done!")).toBeInTheDocument(); }); }); @@ -130,7 +130,7 @@ describe("MessagesPage", () => { sentByStaffId: "staff-1", }, 201)); } - return Promise.resolve(makeResponse(mockConversations)); + return Promise.resolve(makeResponse({ items: mockConversations, nextCursor: null })); }); render(); diff --git a/apps/web/src/pages/Messages.tsx b/apps/web/src/pages/Messages.tsx index df73f73..59f648e 100644 --- a/apps/web/src/pages/Messages.tsx +++ b/apps/web/src/pages/Messages.tsx @@ -93,7 +93,7 @@ export function MessagesPage() { useEffect(() => { if (messages.length > 0) { - messagesEndRef.current?.scrollIntoView({ behavior: "smooth" }); + messagesEndRef.current?.scrollIntoView?.({ behavior: "smooth" }); } }, [messages]);