from datetime import date, timedelta

from app.models.enums import PolicyStatus


def test_expiry_filter_excludes_renewed_and_cancelled():
    excluded = {PolicyStatus.RENEWED, PolicyStatus.CANCELLED}
    active_statuses = [PolicyStatus.ACTIVE, PolicyStatus.EXPIRING_SOON, PolicyStatus.EXPIRED, PolicyStatus.DRAFT]
    for status in active_statuses:
        assert status not in excluded


def test_next_3_days_window():
    today = date(2026, 6, 26)
    end = today + timedelta(days=3)
    assert end == date(2026, 6, 29)


def test_custom_expiry_window():
    today = date(2026, 6, 26)
    custom_days = 45
    end = today + timedelta(days=custom_days)
    assert end == date(2026, 8, 10)
