Добавлена валидация цены

This commit is contained in:
Раис Юсупалиев
2026-05-13 16:35:22 +03:00
parent 6b66af5eb3
commit 39cd5ddc7a
24 changed files with 1021 additions and 56 deletions
+35
View File
@@ -106,6 +106,41 @@ def test_filter_prices_by_parcel_type_returns_non_document_tariffs_for_parcel()
assert [price.service_name for price in result] == ["Economy parcel", "Express"]
def test_filter_prices_by_parcel_type_keeps_prices_with_bypass_flag_regardless_of_type() -> None:
bypass_document = _make_price(
provider="cdek",
service_name="Документ курьером",
bypass_parcel_type_filter=True,
)
bypass_parcel = _make_price(
provider="cdek",
service_name="Посылка склад-склад",
bypass_parcel_type_filter=True,
)
other_document = _make_price(provider="other", service_name="Document")
other_parcel = _make_price(provider="other", service_name="Parcel")
doc_result = filter_prices_by_parcel_type(
[bypass_document, bypass_parcel, other_document, other_parcel],
parcel_type=ParcelType.DOC,
)
parcel_result = filter_prices_by_parcel_type(
[bypass_document, bypass_parcel, other_document, other_parcel],
parcel_type=ParcelType.PARCEL,
)
assert [price.service_name for price in doc_result] == [
"Документ курьером",
"Посылка склад-склад",
"Document",
]
assert [price.service_name for price in parcel_result] == [
"Документ курьером",
"Посылка склад-склад",
"Parcel",
]
def test_filter_prices_by_parcel_type_returns_all_prices_when_type_is_missing() -> None:
prices = [
_make_price(service_name="Документ"),