Files
g2s-aggregator/tests/payment_fixtures.py
T
Раис Юсупалиев f2771a1c45
Deploy / deploy (push) Successful in 1m0s
добавлен declaredValue
2026-06-21 22:32:28 +03:00

84 lines
2.5 KiB
Python

"""Shared fixtures for the camelCase init-payment contract."""
from typing import Any
from app.schemas.payment import InitPaymentRequest
def make_init_payment_payload(**overrides: Any) -> dict[str, Any]:
"""Return a valid camelCase JSON payload for /api/v1/delivery/order."""
payload: dict[str, Any] = {
"senderAddress": {
"cityId": 1,
"city": "Дубай",
"street": "Sheikh Zayed Road",
"house": "10",
"apartment": "201",
"zip": "12345",
"comment": "Domofon 12",
},
"senderContact": {
"fullName": "Petr Petrov",
"email": "sender@example.com",
"phone": "+79009876543",
"phoneExt": None,
"isCompany": False,
"companyName": None,
"inn": None,
"kpp": None,
},
"receiverAddress": {
"cityId": 2,
"city": "Шарджа",
"street": "Al Wahda",
"house": "5",
"apartment": None,
"zip": "54321",
"comment": None,
},
"receiverContact": {
"fullName": "Ivan Ivanov",
"email": "ivan@example.com",
"phone": "+79001234567",
"phoneExt": "101",
"isCompany": False,
"companyName": None,
"inn": None,
"kpp": None,
},
"content": {
"description": "Headphones",
"declaredValue": 50000,
},
"pickupDate": "2026-05-15T10:00:00.000Z",
"deliveryDate": "2026-05-18T18:00:00.000Z",
"accountEmail": "client@example.com",
"agreePrivacy": True,
"agreeTerms": True,
"systemData": {
"tariff": {
"provider": "cdek",
"serviceName": "Экспресс лайт",
"price": 125000,
"deliveryDaysMin": 1,
"deliveryDaysMax": 2,
"tariffCode": "535",
},
"parcelType": "parcel",
"docPackaging": None,
"weight": "1.0",
"dimensions": {
"length": "20",
"width": "15",
"height": "10",
},
},
}
payload.update(overrides)
return payload
def make_init_payment_request(**overrides: Any) -> InitPaymentRequest:
return InitPaymentRequest.model_validate(make_init_payment_payload(**overrides))