Revision fc7747df7177f2f610c55c9709a81e7b0b618806 authored by Jochen Kupperschmidt on 03 January 2026, 00:21:02 UTC, committed by Jochen Kupperschmidt on 03 January 2026, 00:21:02 UTC
1 parent 2e587a4
test_order_is_overdue.py
"""
:Copyright: 2014-2025 Jochen Kupperschmidt
:License: Revised BSD (see `LICENSE` file for details)
"""
from datetime import datetime
from freezegun import freeze_time
import pytest
from byceps.services.shop.order import order_domain_service
from byceps.services.shop.order.models.order import PaymentState
# fmt: off
@pytest.mark.parametrize(
('checked_at', 'payment_state', 'expected'),
[
(datetime(2021, 6, 25, 11, 59, 59), PaymentState.open, False),
(datetime(2021, 6, 25, 12, 0, 0), PaymentState.open, True ),
(datetime(2021, 6, 25, 12, 0, 0), PaymentState.canceled_before_paid, False),
(datetime(2021, 6, 25, 12, 0, 0), PaymentState.paid, False),
(datetime(2021, 6, 25, 12, 0, 0), PaymentState.canceled_after_paid, False),
(datetime(2021, 6, 25, 12, 0, 1), PaymentState.open, True ),
],
)
# fmt: on
def test_is_overdue(
checked_at: datetime, payment_state: PaymentState, expected: bool
):
created_at = datetime(2021, 6, 11, 12, 0, 0)
with freeze_time(checked_at):
assert (
order_domain_service.is_overdue(created_at, payment_state)
== expected
)

Computing file changes ...