Enhance ToolUseSwitch component and improve Chat test coverage
This PR improves the ToolUseSwitch component and enhances the Chat component test suite with better interaction testing.
Changes Made:
🔧 ToolUseSwitch Component Improvements
Enhanced component structure: Refactored the ToolUseSwitch component with better organization and improved prop handling
Improved tooltips: Added more descriptive tooltips for each response mode (Quick, Explore, Agent) to better guide users
Better accessibility: Enhanced component accessibility with proper ARIA attributes and semantic structure
Code optimization: Optimized the component with better memoization and cleaner code structure
🧪 Chat Component Test Enhancements
Added dropdown interaction tests: Implemented comprehensive tests for the response speed mode dropdown functionality
Improved test coverage: Added tests for selecting different response modes (Quick, Explore, Agent)
Enhanced user interaction simulation: Better simulation of user interactions with dropdown selections
Error handling tests: Improved error streaming tests with better mock server setup
Key Features:
✅ Response Mode Selection: Users can now properly select between Quick, Explore, and Agent modes
✅ Improved UX: Better tooltips and descriptions for each response mode
✅ Test Coverage: Comprehensive test coverage for dropdown interactions and mode selection
✅ Error Handling: Robust error handling and testing for chat streaming errors
Technical Details:
Files Modified:
refact-agent/gui/src/components/ChatForm/ToolUseSwitch.tsx (102 lines changed)
refact-agent/gui/src/features/Chat/Chat.test.tsx (16 lines added)
Total Changes: 70 insertions, 48 deletions across 2 files
Testing:
✅ All existing tests pass
✅ New dropdown interaction tests added
✅ Error handling scenarios covered
✅ User interaction flows validated