private function getStorefrontCartFacade(Cart
$cart, ?callable
$shippingSwitcherCallbackMethod = null, ?callable
$paymentSwitcherCallbackMethod = null
): StorefrontCartFacade
{ $cartService =
$this->
createMock(CartService::
class);
$cartService->
method('getCart'
)->
willReturn($cart);
$blockedShippingMethodSwitcher =
$this->
createMock(BlockedShippingMethodSwitcher::
class);
$blockedShippingMethodSwitcher->
method('switch'
)->
willReturnCallback($shippingSwitcherCallbackMethod ??
$this->
callbackShippingMethodSwitcherReturnOriginalMethod(...
));
$blockedPaymentMethodSwitcher =
$this->
createMock(BlockedPaymentMethodSwitcher::
class);
$blockedPaymentMethodSwitcher->
method('switch'
)->
willReturnCallback($paymentSwitcherCallbackMethod ??
$this->
callbackPaymentMethodSwitcherReturnOriginalMethod(...
));
$contextSwitchRoute =
$this->
createMock(ContextSwitchRoute::
class);
$cartCalculator =
$this->
createMock(CartCalculator::
class);
$cartCalculator->
method('calculate'
)->
willReturnArgument(0
);
$cartPersister =
$this->
createMock(CartPersister::
class);
return new StorefrontCartFacade( $cartService,
$blockedShippingMethodSwitcher,