017 fix returning all tariffs
This commit is contained in:
@@ -5,8 +5,9 @@ import pytest
|
||||
from app.adapters.delivery_providers.cdek.mapper import CDEKMappingError, map_cdek_response
|
||||
|
||||
|
||||
def test_map_cdek_response_maps_first_tariff_to_unified_model() -> None:
|
||||
def test_map_cdek_response_maps_all_tariffs_to_unified_model() -> None:
|
||||
payload = {
|
||||
"currency": "usd",
|
||||
"tariff_codes": [
|
||||
{
|
||||
"tariff_name": "Express",
|
||||
@@ -14,18 +15,24 @@ def test_map_cdek_response_maps_first_tariff_to_unified_model() -> None:
|
||||
"currency": "rub",
|
||||
"period_min": 2,
|
||||
"period_max": 4,
|
||||
},
|
||||
{
|
||||
"tariff_code": 136,
|
||||
"delivery_sum": "999.00",
|
||||
"period_min": 5,
|
||||
"period_max": 7,
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
result = map_cdek_response(payload)
|
||||
|
||||
assert result.provider == "cdek"
|
||||
assert result.service_name == "Express"
|
||||
assert result.price == Decimal("1234.50")
|
||||
assert result.currency == "RUB"
|
||||
assert result.delivery_days_min == 2
|
||||
assert result.delivery_days_max == 4
|
||||
assert [price.provider for price in result] == ["cdek", "cdek"]
|
||||
assert [price.service_name for price in result] == ["Express", "136"]
|
||||
assert [price.price for price in result] == [Decimal("1234.50"), Decimal("999.00")]
|
||||
assert [price.currency for price in result] == ["RUB", "USD"]
|
||||
assert [price.delivery_days_min for price in result] == [2, 5]
|
||||
assert [price.delivery_days_max for price in result] == [4, 7]
|
||||
|
||||
|
||||
def test_map_cdek_response_raises_for_missing_tariff_codes() -> None:
|
||||
|
||||
Reference in New Issue
Block a user