Add asset records, claims, and credit workflows

This commit is contained in:
Marcel Peterkau
2026-06-26 23:03:06 +02:00
parent 30b6d253b2
commit d1dab793a6
11 changed files with 2060 additions and 10 deletions
+25
View File
@@ -1,5 +1,6 @@
def test_ui_modules_import_without_creating_root_window() -> None:
import ccma.app # noqa: F401
import ccma.ui.asset_tab # noqa: F401
import ccma.ui.claim_tab # noqa: F401
import ccma.ui.main_window # noqa: F401
import ccma.ui.member_tab # noqa: F401
@@ -130,6 +131,21 @@ def test_member_table_sort_uses_display_values() -> None:
assert [member.member_id for member in _sort_members(members, "status", False)] == ["2", "1", "3"]
def test_asset_table_filter_and_sort_use_status_and_holder_label() -> None:
from ccma.domain.models import Asset
from ccma.ui.work_tabs import _asset_table_value, _filter_assets, _selected_asset_filter
assets = [
Asset("1", "Clubraumschlüssel", status="issued", current_holder_member_id="member-1"),
Asset("2", "Beamer", status="available"),
]
assert _selected_asset_filter("Alle") == "all"
assert _selected_asset_filter("AUSGEGEBEN") == "issued"
assert [asset.asset_id for asset in _filter_assets(assets, "available")] == ["2"]
assert _asset_table_value(assets[0], "holder", "0001 · Ada") == "0001 · Ada"
def test_claim_table_sort_uses_due_date_by_raw_value() -> None:
from ccma.domain.models import ContributionData
from ccma.ui.member_tab import _claim_sort_value
@@ -139,3 +155,12 @@ def test_claim_table_sort_uses_due_date_by_raw_value() -> None:
newer = {"title": "Neu", "due_date": "2025-07-31", "amount": "50.00"}
assert _claim_sort_value(data, older, "due") < _claim_sort_value(data, newer, "due")
def test_negative_claims_are_labeled_as_credit() -> None:
from ccma.domain.contributions import claim_status
from ccma.domain.models import ContributionData
data = ContributionData()
claim = {"claim_id": "claim-1", "title": "Rueckzahlung", "amount": "-25.00"}
assert claim_status(data, claim) == "credit"