This commit is contained in:
@@ -198,21 +198,12 @@ def test_order_payload_includes_company_requisites_for_legal_entity() -> None:
|
||||
assert sender["kpp"] == "770701001"
|
||||
|
||||
|
||||
def test_order_payload_maps_content_to_comments_and_declared_value_item() -> None:
|
||||
def test_order_payload_maps_content_to_comments_without_items() -> None:
|
||||
payload = map_cdek_order_request(make_init_payment_request(), "order-uuid-1")
|
||||
|
||||
assert payload["comment"] == "Headphones"
|
||||
assert payload["packages"][0]["comment"] == "Headphones"
|
||||
assert payload["packages"][0]["items"] == [
|
||||
{
|
||||
"name": "Headphones",
|
||||
"ware_key": "order-uuid-1",
|
||||
"payment": {"value": 0},
|
||||
"cost": 50000,
|
||||
"amount": 1,
|
||||
"weight": 1000,
|
||||
}
|
||||
]
|
||||
assert "items" not in payload["packages"][0]
|
||||
|
||||
|
||||
def test_order_payload_falls_back_package_comment_to_order_uuid() -> None:
|
||||
@@ -224,7 +215,7 @@ def test_order_payload_falls_back_package_comment_to_order_uuid() -> None:
|
||||
)
|
||||
|
||||
assert payload["packages"][0]["comment"] == "order-uuid-1"
|
||||
assert payload["packages"][0]["items"][0]["name"] == "order-uuid-1"
|
||||
assert "items" not in payload["packages"][0]
|
||||
|
||||
|
||||
def test_order_payload_includes_company_for_individual_sender_as_full_name() -> None:
|
||||
@@ -285,6 +276,37 @@ def test_map_cdek_order_info_response_returns_none_status_when_statuses_empty()
|
||||
)
|
||||
|
||||
|
||||
def test_map_cdek_order_info_response_maps_invalid_create_request_to_invalid_status() -> None:
|
||||
result = map_cdek_order_info_response(
|
||||
{
|
||||
"entity": {
|
||||
"uuid": "cdek-order-uuid",
|
||||
"statuses": [
|
||||
{"code": "ACCEPTED", "date_time": "2026-05-24T10:00:00+0000"}
|
||||
],
|
||||
},
|
||||
"requests": [
|
||||
{
|
||||
"type": "CREATE",
|
||||
"state": "INVALID",
|
||||
"errors": [
|
||||
{
|
||||
"code": "ve_delivery_can_not_has_goods",
|
||||
"message": "Заказ типа доставка не может содержать товары",
|
||||
}
|
||||
],
|
||||
}
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
assert result == CDEKOrderInfo(
|
||||
order_uuid="cdek-order-uuid",
|
||||
status_code="INVALID",
|
||||
waybill_uuid=None,
|
||||
)
|
||||
|
||||
|
||||
def test_map_cdek_order_info_response_raises_for_missing_entity() -> None:
|
||||
with pytest.raises(CDEKOrderMappingError):
|
||||
map_cdek_order_info_response({"requests": []})
|
||||
|
||||
Reference in New Issue
Block a user