fix: improve SSEContext test cleanup and stability

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 <noreply@ai-assistant.com>
This commit is contained in:
William Valentin
2025-12-06 12:15:52 -08:00
parent 5f1ca46695
commit cbe472e81f

View File

@@ -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;
});
});