shinkan-jinkendo/backend/tests/test_club_features.py

28 lines
897 B
Python
Raw Permalink Normal View History

"""Unit-Tests für club_features (ohne DB)."""
from datetime import datetime, timezone
from club_features import _calculate_next_reset, _normalize_limit
def test_normalize_limit_none_and_negative():
assert _normalize_limit(None) is None
assert _normalize_limit(-1) is None
assert _normalize_limit(0) == 0
assert _normalize_limit(50) == 50
def test_calculate_next_reset_never():
assert _calculate_next_reset("never") is None
def test_calculate_next_reset_monthly_december():
ref = datetime(2026, 12, 15, 12, 0, tzinfo=timezone.utc)
nxt = _calculate_next_reset("monthly", now=ref)
assert nxt == datetime(2027, 1, 1, tzinfo=timezone.utc)
def test_calculate_next_reset_monthly_mid_year():
ref = datetime(2026, 6, 6, 12, 0, tzinfo=timezone.utc)
nxt = _calculate_next_reset("monthly", now=ref)
assert nxt == datetime(2026, 7, 1, tzinfo=timezone.utc)