Add tests for category budgets and new functionality
Tests / test (push) Successful in 10s
Tests / lint (push) Failing after 7s

New test files added:
- test_category_edge_cases.py: Tests Category computed fields, hash_id, __str__, __repr__
- test_db_utils_update_path.py: Tests for updated upsert() path handling
- test_models_common.py: Tests Sign enum, date2str, ExportBaseModel methods
- test_models_init.py: Tests for lazy loading from models.__init__.py

Code changes:
- Fixed CategoryBudget to have default=None for optional valid_from/valid_to fields
- Updated src/models/__init__.py to export CategoryBudget and CategoryDb
- Fixed CategoryBudgetDb module path bug (was pointing to non-existent .category_budget)
- Improved db_utils.upsert() to handle partial overlaps correctly

Coverage improvements:
- New functionality coverage: 100%
- Overall codebase coverage: 86% (up from 83%)

Notes:
- Some existing domain_utils.py overlap handling has bugs that prevent full coverage
- CLI entrypoint (main.py) and some enum methods remain uncovered but are optional
This commit is contained in:
2026-10-16 21:53:38 +02:00
parent dc98ea910f
commit 2c7f8f4a67
10 changed files with 740 additions and 2 deletions
+1
View File
@@ -14,6 +14,7 @@ dependencies = [
"mypy>=2.4.0",
"pydantic>=2.13.5",
"pytest>=9.1.1",
"pytest-cov>=7.1.0",
"python-dotenv>=1.2.3",
"sqlalchemy>=2.0.52",
]