function it_returns_shipping_methods_matched_for_shipment_order_shipping_address_and_order_channel(AddressInterface $address, ChannelInterface $channel, OrderInterface $order, ShipmentInterface $shipment, ShippingMethodInterface $firstShippingMethod, ShippingMethodInterface $secondShippingMethod, ShippingMethodInterface $thirdShippingMethod, ShippingMethodRepositoryInterface $shippingMethodRepository, ZoneInterface $firstZone, ZoneInterface $secondZone, ZoneMatcherInterface $zoneMatcher) { $shipment->getOrder()->willReturn($order); $order->getShippingAddress()->willReturn($address); $order->getChannel()->willReturn($channel); $zoneMatcher->matchAll($address)->willReturn([$firstZone, $secondZone]); $firstZone->getId()->willReturn(1); $secondZone->getId()->willReturn(4); $shippingMethodRepository->findBy(['enabled' => true, 'zone' => [1, 4]])->willReturn([$firstShippingMethod, $secondShippingMethod, $thirdShippingMethod]); $channel->hasShippingMethod($firstShippingMethod)->willReturn(true); $channel->hasShippingMethod($secondShippingMethod)->willReturn(true); $channel->hasShippingMethod($thirdShippingMethod)->willReturn(false); $this->getSupportedMethods($shipment)->shouldReturn([$firstShippingMethod, $secondShippingMethod]); }
/** * @Given /^I want to modify the (zone named "[^"]+")$/ */ public function iWantToModifyAZoneNamed(ZoneInterface $zone) { $this->updatePage->open(['id' => $zone->getId()]); }