Добавлен провайдер доставки CSE: SOAP-адаптер (Calc + SaveDocuments), маршрутизация init-payment по провайдеру, обобщение tariff_code до строки, география CSE в cities_map
Deploy / deploy (push) Failing after 52s

This commit is contained in:
Раис Юсупалиев
2026-05-31 20:13:52 +03:00
parent 6a2bf05ba5
commit 6c0f97adf6
41 changed files with 16113 additions and 4806 deletions
+14 -12
View File
@@ -26,12 +26,14 @@ class StoredOrder:
order_uuid: str = "order-uuid-1"
payment_url: str = "https://pay.test/payment/1"
price: int = 125000
tariff_code: int = 535
tariff_code: str = "535"
provider: str = "cdek"
account_email: str = "client@example.com"
payload: dict[str, Any] = field(default_factory=_default_payload)
payment_status: str | None = None
tbank_payment_id: int | None = None
cdek_order_uuid: str | None = None
cse_order_number: str | None = None
cdek_waybill_uuid: str | None = None
cdek_waybill_url: str | None = None
payment_email_sent_at: object | None = None
@@ -216,7 +218,7 @@ def test_confirmed_notification_registers_cdek_order_and_saves_uuid() -> None:
providers=[],
payment_adapter=payment_adapter,
order_repository=order_repository,
order_registration_adapter=cdek_adapter,
order_registration_adapters={"cdek": cdek_adapter},
)
notification = _make_notification()
@@ -240,7 +242,7 @@ def test_duplicate_confirmed_notification_does_not_call_cdek() -> None:
providers=[],
payment_adapter=StubPaymentAdapter(),
order_repository=StubOrderRepository(orders=[order]),
order_registration_adapter=cdek_adapter,
order_registration_adapters={"cdek": cdek_adapter},
)
result = asyncio.run(
@@ -259,7 +261,7 @@ def test_non_confirmed_notification_acknowledges_without_cdek() -> None:
providers=[],
payment_adapter=StubPaymentAdapter(),
order_repository=StubOrderRepository(orders=[order]),
order_registration_adapter=cdek_adapter,
order_registration_adapters={"cdek": cdek_adapter},
)
result = asyncio.run(
@@ -282,7 +284,7 @@ def test_invalid_token_does_not_access_repository_or_cdek() -> None:
verify_error=TBankPaymentNotificationTokenError("bad token")
),
order_repository=order_repository,
order_registration_adapter=cdek_adapter,
order_registration_adapters={"cdek": cdek_adapter},
)
with pytest.raises(InvalidTBankPaymentNotificationError):
@@ -298,7 +300,7 @@ def test_missing_order_returns_processing_error_without_cdek() -> None:
providers=[],
payment_adapter=StubPaymentAdapter(),
order_repository=StubOrderRepository(),
order_registration_adapter=cdek_adapter,
order_registration_adapters={"cdek": cdek_adapter},
)
with pytest.raises(TBankPaymentNotificationProcessingError):
@@ -313,7 +315,7 @@ def test_cdek_registration_failure_returns_processing_error() -> None:
providers=[],
payment_adapter=StubPaymentAdapter(),
order_repository=StubOrderRepository(orders=[StoredOrder()]),
order_registration_adapter=cdek_adapter,
order_registration_adapters={"cdek": cdek_adapter},
)
with pytest.raises(TBankPaymentNotificationProcessingError):
@@ -346,7 +348,7 @@ def test_repeated_confirmed_after_cdek_uuid_save_failure_uses_same_external_id()
providers=[],
payment_adapter=StubPaymentAdapter(),
order_repository=order_repository,
order_registration_adapter=cdek_adapter,
order_registration_adapters={"cdek": cdek_adapter},
)
notification = _make_notification()
@@ -372,7 +374,7 @@ def test_confirmed_notification_sends_payment_confirmation_email() -> None:
providers=[],
payment_adapter=StubPaymentAdapter(),
order_repository=StubOrderRepository(orders=[order]),
order_registration_adapter=StubCDEKOrderAdapter(),
order_registration_adapters={"cdek": StubCDEKOrderAdapter()},
email_sender=email_sender,
)
@@ -394,7 +396,7 @@ def test_non_confirmed_notification_does_not_send_email() -> None:
providers=[],
payment_adapter=StubPaymentAdapter(),
order_repository=StubOrderRepository(orders=[order]),
order_registration_adapter=StubCDEKOrderAdapter(),
order_registration_adapters={"cdek": StubCDEKOrderAdapter()},
email_sender=email_sender,
)
@@ -421,7 +423,7 @@ def test_duplicate_notification_does_not_resend_payment_email() -> None:
providers=[],
payment_adapter=StubPaymentAdapter(),
order_repository=StubOrderRepository(orders=[order]),
order_registration_adapter=StubCDEKOrderAdapter(),
order_registration_adapters={"cdek": StubCDEKOrderAdapter()},
email_sender=email_sender,
)
@@ -440,7 +442,7 @@ def test_email_failure_does_not_break_notification_handling() -> None:
providers=[],
payment_adapter=StubPaymentAdapter(),
order_repository=StubOrderRepository(orders=[order]),
order_registration_adapter=StubCDEKOrderAdapter(),
order_registration_adapters={"cdek": StubCDEKOrderAdapter()},
email_sender=email_sender,
)