WebView Player Integration:
- Create PlayerEmbedService for API server integration
- Update WebView players to use server embed URLs instead of direct links
- Add fallback to direct URLs when server is unavailable
- Support for both Vibix and Alloha players with server API
- Include optional parameters (imdbId, season, episode) for TV shows
- Add health check endpoint for server availability
Mock Testing Infrastructure:
- Add comprehensive TorrentPlatformService tests with mock platform channel
- Test all torrent operations without requiring real Android engine
- Mock platform channel responses for addTorrent, removeTorrent, pauseTorrent, resumeTorrent
- Test error handling with PlatformException simulation
- Validate torrent state detection (downloading, seeding, completed)
- Test file priority management and video file detection
PlayerEmbedService Testing:
- Mock HTTP client tests for Vibix and Alloha embed URL generation
- Test server API integration with success and failure scenarios
- Validate URL encoding for special characters and non-ASCII titles
- Test fallback behavior when server is unavailable or times out
- Mock player configuration retrieval from server
- Test server health check functionality
Test Dependencies:
- Add http_mock_adapter for HTTP testing
- Ensure all tests work without real Flutter/Android environment
- Support for testing platform channels and HTTP services
This enables proper API server integration for WebView players
while maintaining comprehensive test coverage for all torrent
and player functionality without requiring Android hardware.
GitHub Actions improvements:
- Fix release workflow to prevent draft releases on new workflow runs
- Add automatic deletion of previous releases with same tag
- Improve test workflow with torrent-engine-downloads branch support
- Update Flutter version and add code generation step
- Add Android lint checks and debug APK builds
- Remove emoji from all workflow outputs for cleaner logs
- Add make_latest flag for proper release versioning
Test improvements:
- Add comprehensive unit tests for TorrentInfo model
- Add tests for FilePriority enum with comparison operators
- Add DownloadsProvider tests for utility methods
- Add widget tests for UI components and interactions
- Test video file detection and main file selection
- Test torrent state detection (downloading, paused, completed)
- Test byte formatting for file sizes and speeds
All tests validate the torrent downloads functionality
and ensure proper integration with Android engine.