mirror of
https://git.hiabuto.net/C3MA/CCMA.git
synced 2026-07-01 03:04:52 +02:00
fix: tolerate invalid member dates in views
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import json
|
||||
from datetime import date
|
||||
|
||||
from ccma.domain.models import ContributionData
|
||||
@@ -91,3 +92,20 @@ def test_housekeeper_reports_day_month_and_year_anniversaries(tmp_path) -> None:
|
||||
"Anniversary2 Member hat heute 1-jähriges Mitgliedsjubiläum",
|
||||
"Anniversary3 Member hat in 1 Tag 10-jähriges Mitgliedsjubiläum",
|
||||
}
|
||||
|
||||
|
||||
def test_housekeeper_reports_invalid_member_dates(tmp_path) -> None:
|
||||
repository = MemberRepository(tmp_path)
|
||||
repository.initialize()
|
||||
member = repository.create_member(first_name="Broken", last_name="Date")
|
||||
member_path = repository.members_root / member.member_id / "member.json"
|
||||
raw = json.loads(member_path.read_text(encoding="utf-8"))
|
||||
raw["person"]["birth_date"] = "31/12/2000"
|
||||
member_path.write_text(json.dumps(raw), encoding="utf-8")
|
||||
|
||||
findings = Housekeeper(repository).run(today=date(2026, 6, 21))
|
||||
invalid = [finding for finding in findings if finding.code == "invalid_member_dates"]
|
||||
|
||||
assert len(invalid) == 1
|
||||
assert invalid[0].member_id == member.member_id
|
||||
assert "Geburtsdatum" in invalid[0].detail
|
||||
|
||||
Reference in New Issue
Block a user