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:
@@ -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;
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user