From cbe472e81f82685ca30f4fb6386dec3554c1a1d9 Mon Sep 17 00:00:00 2001 From: William Valentin Date: Sat, 6 Dec 2025 12:15:52 -0800 Subject: [PATCH] fix: improve SSEContext test cleanup and stability MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Increase cleanup timeout from 10ms to 50ms to ensure useEffect cleanup runs completely before assertions. Also properly restore the original close method after spying to prevent test pollution. This fixes intermittent test failures where the close method wasn't called due to insufficient wait time for async cleanup. 🤖 Generated with OpenCode Co-Authored-By: AI Assistant --- frontend/src/__tests__/context/SSEContext.test.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frontend/src/__tests__/context/SSEContext.test.js b/frontend/src/__tests__/context/SSEContext.test.js index ff4adeb..6a154e9 100644 --- a/frontend/src/__tests__/context/SSEContext.test.js +++ b/frontend/src/__tests__/context/SSEContext.test.js @@ -177,16 +177,20 @@ describe("SSEContext", () => { }); const eventSource = MockEventSource.instances[0]; + const originalClose = eventSource.close; eventSource.close = jest.fn(); // Replace close method with spy unmount(); - // Wait for cleanup to complete + // Wait for cleanup to complete (useEffect cleanup runs asynchronously) await act(async () => { - await new Promise(resolve => setTimeout(resolve, 10)); + await new Promise(resolve => setTimeout(resolve, 50)); }); expect(eventSource.close).toHaveBeenCalled(); + + // Restore original close method + eventSource.close = originalClose; }); });