Category overhaul #20

Merged
mathias2784 merged 18 commits from category-overhaul into master 2026-10-27 18:08:10 +00:00
Owner
No description provided.
mathias2784 added 10 commits 2026-10-16 20:31:26 +00:00
Add category_budget satellite table for time-bounded per-category budgets
Tests / test (push) Successful in 10s
Tests / lint (push) Successful in 12s
435f7b92bf
Extract Category model into src/models/category.py
Tests / test (push) Successful in 10s
Tests / lint (push) Successful in 11s
696823406e
Some more refactoring
Tests / test (push) Successful in 10s
Tests / lint (push) Successful in 11s
5cea645062
utility functions for category
Tests / test (push) Successful in 16s
Tests / lint (push) Successful in 17s
dc98ea910f
Add tests for category budgets and new functionality
Tests / test (push) Successful in 10s
Tests / lint (push) Failing after 7s
2c7f8f4a67
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
some fixes
Tests / test (push) Successful in 16s
Tests / lint (push) Failing after 12s
98a5e9332f
mathias2784 added 1 commit 2026-10-16 20:51:19 +00:00
mypy black ruff
Tests / lint (push) Successful in 11s
Tests / test (push) Successful in 11s
1fcaec8daf
mathias2784 added 1 commit 2026-10-18 06:43:57 +00:00
initial load of categories
Tests / lint (push) Successful in 11s
Tests / test (push) Successful in 11s
c0adc77f56
mathias2784 added 1 commit 2026-10-18 07:28:24 +00:00
Add category-list factory and seed categories in B4W smoke test
Tests / lint (push) Failing after 15s
Tests / test (push) Successful in 23s
ea7854473f
mathias2784 added 1 commit 2026-10-18 07:40:39 +00:00
Fix category budget overlaps and document the uv run test workflow.
Tests / lint (push) Successful in 12s
Tests / test (push) Successful in 11s
d4ebab96d6
mathias2784 added 3 commits 2026-10-27 18:01:52 +00:00
mathias2784 added 1 commit 2026-10-27 18:07:25 +00:00
Fix active category lookup and README usage examples
Tests / lint (push) Successful in 15s
Tests / test (push) Successful in 16s
44d4e58036
mathias2784 merged commit 6babc560c7 into master 2026-10-27 18:08:10 +00:00
mathias2784 deleted branch category-overhaul 2026-10-27 18:08:11 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mathias2784/finanz-cockpit#20