Will Miao
|
85e511d81c
|
feat(testing): implement Phase 4 advanced testing
- Add Hypothesis property-based tests (19 tests)
- Add Syrupy snapshot tests (7 tests)
- Add pytest-benchmark performance tests (11 tests)
- Fix Hypothesis plugin compatibility by creating MockModule class
- Update pytest.ini to exclude .hypothesis directory
- Add .hypothesis/ to .gitignore
- Update requirements-dev.txt with testing dependencies
- Mark Phase 4 complete in backend-testing-improvement-plan.md
All 947 tests passing.
|
2026-02-11 11:58:28 +08:00 |
|
Will Miao
|
8e30008b29
|
test: complete Phase 3 of backend testing improvement plan
Centralize test fixtures:
- Add mock_downloader fixture for configurable downloader mocking
- Add mock_websocket_manager fixture for WebSocket broadcast recording
- Add reset_singletons autouse fixture for test isolation
- Consolidate singleton cleanup in conftest.py
Split large test files:
- test_download_manager.py (1422 lines) → 3 focused files:
- test_download_manager_basic.py: 12 core functionality tests
- test_download_manager_error.py: 15 error handling tests
- test_download_manager_concurrent.py: 6 advanced scenario tests
- test_cache_paths.py (530 lines) → 3 focused files:
- test_cache_paths_resolution.py: 11 path resolution tests
- test_cache_paths_validation.py: 9 legacy validation tests
- test_cache_paths_migration.py: 9 migration scenario tests
Update documentation:
- Mark all Phase 3 checklist items as complete
- Add Phase 3 completion summary with test results
All 894 tests passing.
|
2026-02-11 11:10:31 +08:00 |
|
Will Miao
|
e335a527d4
|
test: Complete Phase 2 - Integration & Coverage improvements
- Create tests/integration/ directory with conftest.py fixtures
- Add 7 download flow integration tests (test_download_flow.py)
- Add 9 recipe flow integration tests (test_recipe_flow.py)
- Add 12 ModelLifecycleService tests (exclude_model, bulk_delete, error paths)
- Add 5 PersistentRecipeCache concurrent access tests
- Update backend-testing-improvement-plan.md with Phase 2 completion
Total: 28 new tests, all passing (51/51)
|
2026-02-11 10:55:19 +08:00 |
|
Will Miao
|
25e6d72c4f
|
test(backend): Phase 1 - Improve testing infrastructure and add error path tests
## Changes
### pytest-asyncio Integration
- Add pytest-asyncio>=0.21.0 to requirements-dev.txt
- Update pytest.ini with asyncio_mode=auto and fixture loop scope
- Remove custom pytest_pyfunc_call handler from conftest.py
- Add @pytest.mark.asyncio to 21 async test functions
### Error Path Tests
- Create test_downloader_error_paths.py with 19 new tests covering:
- DownloadStreamControl state management (6 tests)
- Downloader configuration and initialization (4 tests)
- DownloadProgress dataclass validation (1 test)
- Custom exception handling (2 tests)
- Authentication header generation (3 tests)
- Session management (3 tests)
### Documentation
- Update backend-testing-improvement-plan.md with Phase 1 completion status
## Test Results
- All 458 service tests pass
- No regressions introduced
Relates to backend testing improvement plan Phase 1
|
2026-02-11 10:29:21 +08:00 |
|
pixelpaws
|
480e5d966f
|
test: add standalone bootstrap and model factory coverage
|
2025-10-11 22:42:24 +08:00 |
|