@@ -9,6 +9,7 @@ from app.controllers.v1.delivery import get_aggregator_service
|
||||
from app.main import create_app
|
||||
from app.schemas.request import DeliveryCalculationRequest, DeliveryEntity, ParcelType
|
||||
from app.schemas.response import DeliveryPrice
|
||||
from app.adapters.delivery_providers.registry import DeliveryProviderRegistry
|
||||
from app.services.aggregator import (
|
||||
AggregatorService,
|
||||
AggregatorServiceError,
|
||||
@@ -118,13 +119,6 @@ def test_post_delivery_price_uses_registered_provider_in_default_dependency(
|
||||
),
|
||||
]
|
||||
|
||||
class StubCDEKProvider:
|
||||
@classmethod
|
||||
def from_adapter_config(cls, *, http_client, adapter_config) -> StubProvider:
|
||||
assert http_client is stub_http_client
|
||||
_ = adapter_config
|
||||
return stub_provider
|
||||
|
||||
class StubCache:
|
||||
def __init__(self) -> None:
|
||||
self.storage: dict[str, object] = {}
|
||||
@@ -154,12 +148,38 @@ def test_post_delivery_price_uses_registered_provider_in_default_dependency(
|
||||
http_client_timeouts.append(timeout_seconds)
|
||||
return stub_http_client
|
||||
|
||||
def fake_resolve_delivery_provider_timeout_seconds(config: object) -> float:
|
||||
_ = config
|
||||
return 12.5
|
||||
|
||||
def fake_build_delivery_provider_registry(
|
||||
*,
|
||||
http_client: object,
|
||||
config: object,
|
||||
) -> DeliveryProviderRegistry:
|
||||
assert http_client is stub_http_client
|
||||
_ = config
|
||||
return DeliveryProviderRegistry(
|
||||
providers=(stub_provider,),
|
||||
payment_price_validation_adapters={},
|
||||
order_registration_adapters={},
|
||||
)
|
||||
|
||||
monkeypatch.setattr(
|
||||
delivery_controller,
|
||||
"build_controller_http_client",
|
||||
fake_build_controller_http_client,
|
||||
)
|
||||
monkeypatch.setattr(delivery_controller, "CDEKProvider", StubCDEKProvider)
|
||||
monkeypatch.setattr(
|
||||
delivery_controller,
|
||||
"resolve_delivery_provider_timeout_seconds",
|
||||
fake_resolve_delivery_provider_timeout_seconds,
|
||||
)
|
||||
monkeypatch.setattr(
|
||||
delivery_controller,
|
||||
"build_delivery_provider_registry",
|
||||
fake_build_delivery_provider_registry,
|
||||
)
|
||||
monkeypatch.setattr(delivery_controller, "PriceCache", StubPriceCache)
|
||||
|
||||
app = create_app()
|
||||
@@ -199,7 +219,7 @@ def test_post_delivery_price_uses_registered_provider_in_default_dependency(
|
||||
}
|
||||
]
|
||||
assert second_response.json() == first_response.json()
|
||||
assert len(http_client_timeouts) == 1
|
||||
assert http_client_timeouts == [12.5]
|
||||
assert len(stub_provider.calls) == 1
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user