84 lines
2.5 KiB
Python
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))
|