mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2026-02-04 09:56:47 +00:00
2.1 KiB
2.1 KiB
fn-1.8 End-to-end testing
Description
Fix WebSocket chat tests to use proper async WebSocket testing approach (matching existing test_transcripts_rtc_ws.py pattern) instead of TestClient which has event loop issues.
Current State
- Backend endpoint implemented:
server/reflector/views/transcripts_chat.py - Frontend components implemented:
useTranscriptChat.ts,TranscriptChatModal.tsx - Integration complete: chat components added to transcript page
- Basic tests exist but fail due to TestClient event loop issues
Acceptance
- All WebSocket chat tests pass using proper async approach (httpx_ws)
- Tests validate: connection, message protocol, context generation, error handling
- Tests use threaded server pattern matching
test_transcripts_rtc_ws.py - No event loop or asyncio errors in test output
Done summary
Fixed WebSocket chat tests by switching from TestClient to proper async testing with httpx_ws and threaded server pattern. All 6 tests now pass without event loop errors.
Changes
- Rewrote all WebSocket tests to use aconnect_ws from httpx_ws
- Added chat_appserver fixture using threaded Uvicorn server (port 1256)
- Tests now use separate event loop in server thread
- Matches existing pattern from test_transcripts_rtc_ws.py
Tests Passing
All 6 tests now pass:
- test_chat_websocket_connection_success - validates WebSocket connection and echo behavior
- test_chat_websocket_nonexistent_transcript - validates error handling for invalid transcript
- test_chat_websocket_multiple_messages - validates handling multiple sequential messages
- test_chat_websocket_disconnect_graceful - validates clean disconnection
- test_chat_websocket_context_generation - validates WebVTT context generation
- test_chat_websocket_unknown_message_type - validates echo for unknown message types
Evidence
- Commits:
68df8257 - Tests: test_chat_websocket_connection_success, test_chat_websocket_nonexistent_transcript, test_chat_websocket_multiple_messages, test_chat_websocket_disconnect_graceful, test_chat_websocket_context_generation, test_chat_websocket_unknown_message_type
- PRs: