"""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))