"""Фикстурный CRM-клиент для тестов — не ходит в сеть.""" from __future__ import annotations from app.schemas.orders import OrderOut _FIXTURE_ORDERS: list[dict] = [ { "ID": "100001", "CreateDateTime": "2026-09-20 10:00:00", "RecipientDName": "Тестовий Покупець", "RecipientPhone": "+380501112233", "RecipientEmail": None, "Waybill_Number": "20450123456789", "Notes": "Тестовий заказ", "Total": { "Cost": "0.00", "Quantity": "2", "Weight": "0", "DiscountAmount": "0.00", "DiscountPercent": "0.00", "Amount": "1200.00", }, "Goods": [ { "ID": "1", "SKU": "SKU-1", "Name": "Товар 1", "Price": "600.00", "Quantity": "2.000", "DiscountAmount": "0.00", "DiscountPercent": "0.00", "Amount": "1200.00", } ], } ] class StubCrmClient: def __init__(self, orders: list[dict] | None = None) -> None: self._orders = orders if orders is not None else _FIXTURE_ORDERS async def get_orders(self, *, status: str) -> list[OrderOut]: return [ OrderOut.model_validate(order) for order in self._orders if order.get("Status", status) == status ]