- Enhanced existing src/server/utils/dependencies.py with optional SQLAlchemy import
- Added comprehensive unit tests in tests/unit/test_dependencies.py
- Created pytest configuration with asyncio support
- Implemented SeriesApp singleton dependency with proper error handling
- Added placeholders for database session and authentication dependencies
- Updated infrastructure.md with dependency injection documentation
- Completed dependency injection task from instructions.md
Features implemented:
- SeriesApp dependency with lazy initialization and singleton pattern
- Configuration validation for anime directory
- Comprehensive error handling for initialization failures
- Common query parameters for pagination
- Placeholder dependencies for future authentication and database features
- 18 passing unit tests covering all dependency injection scenarios
- Fix setup.html to use redirect_url from API response instead of hardcoded '/'
- Add database creation (aniworld.db, cache.db) during setup process
- Setup now properly creates all required files for validation
- After setup completion, users are correctly redirected to /login
- Tested: setup API returns correct redirect_url, database files created, redirect works
- Add test_application_flow.py with 22 test cases covering:
* Setup page functionality and validation
* Authentication flow and token handling
* Main application access controls
* Middleware flow enforcement
* Integration scenarios
- Fix TestClient redirect following issue in tests
- Update ServerTodo.md and TestsTodo.md to mark completed items
- All application flow features now fully tested (22/22 passing)
- Unit tests for CLI commands (scan, search, download, rescan, display)
- Tests for user input handling, selection validation, and retry logic
- E2E tests for complete CLI workflows from user perspective
- Progress bar functionality and user feedback testing
- Error recovery and network failure handling tests
- Keyboard interrupt and invalid input scenario testing
- Environment variable configuration testing
- Integration tests for anime search, details, and episode endpoints
- Unit tests for search algorithms, filtering, and pagination logic
- Tests cover authentication requirements, parameter validation
- Episode filtering by status, range, and missing episode detection
- Search performance optimization tests with indexing and caching
- Data integrity and consistency validation for API responses
- Integration tests for health endpoints (/health, /api/health/*, /api/system/database/health)
- Unit tests for system metrics collection (CPU, memory, disk, network)
- Performance monitoring tests (response time, throughput, error rate)
- Health status determination and service dependency checking
- Tests for both existing and planned health endpoints
- Authentication requirements testing for protected health endpoints
- Created unit, integration, and e2e test directories
- Added conftest.py with common fixtures and mocks
- Added pytest.ini with test configuration and markers
- Replace Flask url_for() with direct /static/ paths in all HTML templates
- Update CSS and JavaScript file references to use FastAPI static mount
- Convert Flask-specific template patterns to FastAPI-compatible syntax
- Update JavaScript API endpoints to match new FastAPI route structure:
* /api/series -> /api/v1/anime
* /api/search -> /api/v1/anime/search
* /api/rescan -> /api/v1/anime/rescan
- Add web interface routes for serving HTML templates
- Add template response endpoints for /app, /login, /setup, /queue
- Mark HTML template and JavaScript migration tasks as completed
- Maintain Jinja2 template compatibility with FastAPI