поправлена гонка статусов от tabnk
Deploy / deploy (push) Successful in 48s

This commit is contained in:
Раис Юсупалиев
2026-06-20 00:57:40 +03:00
parent cbcd9ca1bc
commit aeee641c6c
8 changed files with 173 additions and 16 deletions
@@ -1,6 +1,7 @@
from app.domain.payment_notifications import (
TBankPaymentNotificationAction,
resolve_tbank_payment_notification_action,
should_apply_tbank_payment_status,
)
@@ -53,3 +54,27 @@ def test_unknown_status_acknowledges_only() -> None:
)
assert result is TBankPaymentNotificationAction.ACKNOWLEDGE_ONLY
def test_authorized_does_not_downgrade_confirmed() -> None:
assert should_apply_tbank_payment_status("CONFIRMED", "AUTHORIZED") is False
def test_confirmed_overwrites_authorized() -> None:
assert should_apply_tbank_payment_status("AUTHORIZED", "CONFIRMED") is True
def test_first_status_always_applies() -> None:
assert should_apply_tbank_payment_status(None, "AUTHORIZED") is True
def test_same_status_applies() -> None:
assert should_apply_tbank_payment_status("CONFIRMED", "CONFIRMED") is True
def test_refund_overwrites_confirmed() -> None:
assert should_apply_tbank_payment_status("CONFIRMED", "REFUNDED") is True
def test_unknown_status_does_not_overwrite_known() -> None:
assert should_apply_tbank_payment_status("CONFIRMED", "WAT") is False