![]() I've refactored the group balance summary logic to correctly account for SettlementActivity. A SettlementActivity now reduces your effective total_share_of_expenses, ensuring that net balances within a group sum to zero. Previously, SettlementActivity amounts were incorrectly added to total_settlements_paid, skewing balance calculations. I updated the existing `test_group_balance_summary_with_settlement_activity` to assert the corrected balance outcomes. I also added an extensive suite of API-level tests for: - All expense splitting types (EQUAL, EXACT_AMOUNTS, PERCENTAGE, SHARES, ITEM_BASED), covering various scenarios and input validations. - Group balance summary calculations, including multiple scenarios with SettlementActivity, partial payments, multiple expenses, and interactions with generic settlements. All balance tests verify that the sum of net balances is zero. The CRUD operations for expenses and settlement activities were reviewed and found to be sound, requiring no changes for this fix. This resolves the flawed logic identified in `be/tests/api/v1/test_costs.py` (test_group_balance_summary_with_settlement_activity) and ensures that backend financial calculations are provably correct. |
||
---|---|---|
.. | ||
alembic | ||
app | ||
tests | ||
.dockerignore | ||
.gitignore | ||
alembic.ini | ||
Dockerfile | ||
pytest.ini | ||
requirements.txt |