本文整理汇总了PHP中Sylius\Component\Core\Model\OrderInterface::removeAdjustments方法的典型用法代码示例。如果您正苦于以下问题:PHP OrderInterface::removeAdjustments方法的具体用法?PHP OrderInterface::removeAdjustments怎么用?PHP OrderInterface::removeAdjustments使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sylius\Component\Core\Model\OrderInterface
的用法示例。
在下文中一共展示了OrderInterface::removeAdjustments方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
function it_applies_payment_charges(
$adjustmentRepository,
$delegatingFeeCalculator,
AdjustmentInterface $adjustment,
OrderInterface $order,
PaymentSubjectInterface $payment,
PaymentMethodInterface $paymentMethod
) {
$order->removeAdjustments('payment')->shouldBeCalled();
$order->getPayments()->willReturn(array($payment))->shouldBeCalled();
$order->calculateTotal()->shouldBeCalled();
$payment->getState()->willReturn('new')->shouldBeCalled();
$payment->getMethod()->willReturn($paymentMethod);
$paymentMethod->getName()->willReturn('testPaymentMethod');
$delegatingFeeCalculator->calculate($payment)->willReturn(50);
$adjustmentRepository->createNew()->willReturn($adjustment)->shouldBeCalled();
$adjustment->setType('payment')->shouldBeCalled();
$adjustment->setAmount(50)->shouldBeCalled();
$adjustment->setDescription('testPaymentMethod')->shouldBeCalled();
$order->addAdjustment($adjustment)->shouldBeCalled();
$this->applyPaymentCharges($order);
}
示例2: applyPaymentCharges
/**
* @param OrderInterface $order
*/
public function applyPaymentCharges(OrderInterface $order)
{
$order->removeAdjustments(AdjustmentInterface::PAYMENT_ADJUSTMENT);
$order->calculateTotal();
foreach ($order->getPayments() as $payment) {
$this->addAdjustmentIfForNotCancelled($order, $payment);
}
}
示例3:
function it_doesnt_apply_any_taxes_if_zone_is_missing(OrderInterface $order, Collection $collection, $taxationSettings)
{
$collection->isEmpty()->willReturn(false);
$order->getItems()->willReturn($collection);
$order->removeAdjustments(Argument::any())->shouldBeCalled();
$order->getShippingAddress()->willReturn(null);
$taxationSettings->has('default_tax_zone')->willReturn(false);
$order->addAdjustment(Argument::any())->shouldNotBeCalled();
$this->applyTaxes($order);
}
示例4:
function it_does_not_process_taxes_if_there_is_no_tax_zone(ZoneProviderInterface $defaultTaxZoneProvider, ZoneMatcherInterface $zoneMatcher, PrioritizedServiceRegistryInterface $strategyRegistry, OrderInterface $order, OrderItemInterface $orderItem, AddressInterface $address)
{
$order->getItems()->willReturn([$orderItem]);
$order->isEmpty()->willReturn(false);
$order->removeAdjustments(AdjustmentInterface::TAX_ADJUSTMENT)->shouldBeCalled();
$orderItem->removeAdjustmentsRecursively(AdjustmentInterface::TAX_ADJUSTMENT)->shouldBeCalled();
$order->getShippingAddress()->willReturn($address);
$zoneMatcher->match($address)->willReturn(null);
$defaultTaxZoneProvider->getZone($order)->willReturn(null);
$strategyRegistry->all()->shouldNotBeCalled();
$this->process($order);
}
示例5: applyShippingCharges
/**
* {@inheritdoc}
*/
public function applyShippingCharges(OrderInterface $order)
{
// Remove all shipping adjustments, we recalculate everything from scratch.
$order->removeAdjustments(AdjustmentInterface::SHIPPING_ADJUSTMENT);
foreach ($order->getShipments() as $shipment) {
$shippingCharge = $this->calculator->calculate($shipment);
$adjustment = $this->adjustmentFactory->createNew();
$adjustment->setType(AdjustmentInterface::SHIPPING_ADJUSTMENT);
$adjustment->setAmount($shippingCharge);
$adjustment->setDescription($shipment->getMethod()->getName());
$order->addAdjustment($adjustment);
}
}
示例6:
function it_applies_calculated_shipping_charge_for_each_shipment_associated_with_the_order(FactoryInterface $adjustmentFactory, DelegatingCalculatorInterface $calculator, AdjustmentInterface $adjustment, OrderInterface $order, ShipmentInterface $shipment, ShippingMethodInterface $shippingMethod)
{
$adjustmentFactory->createNew()->willReturn($adjustment);
$order->getShipments()->willReturn([$shipment]);
$calculator->calculate($shipment)->willReturn(450);
$shipment->getMethod()->willReturn($shippingMethod);
$shippingMethod->getName()->willReturn('FedEx');
$adjustment->setAmount(450)->shouldBeCalled();
$adjustment->setType(AdjustmentInterface::SHIPPING_ADJUSTMENT)->shouldBeCalled();
$adjustment->setLabel('FedEx')->shouldBeCalled();
$order->removeAdjustments(AdjustmentInterface::SHIPPING_ADJUSTMENT)->shouldBeCalled();
$order->addAdjustment($adjustment)->shouldBeCalled();
$this->process($order);
}
示例7:
function it_applies_calculated_shipping_charge_for_each_shipment_associated_with_the_order($adjustmentRepository, $calculator, AdjustmentInterface $adjustment, OrderInterface $order, ShipmentInterface $shipment, ShippingMethodInterface $shippingMethod)
{
$adjustmentRepository->createNew()->willReturn($adjustment);
$order->getShipments()->willReturn(array($shipment));
$calculator->calculate($shipment)->willReturn(450);
$shipment->getMethod()->willReturn($shippingMethod);
$shippingMethod->getName()->willReturn('FedEx');
$adjustment->setAmount(450)->shouldBeCalled();
$adjustment->setLabel(AdjustmentInterface::SHIPPING_ADJUSTMENT)->shouldBeCalled();
$adjustment->setDescription('FedEx')->shouldBeCalled();
$order->removeAdjustments(AdjustmentInterface::SHIPPING_ADJUSTMENT)->shouldBeCalled();
$order->addAdjustment($adjustment)->shouldBeCalled();
$order->calculateTotal()->shouldBeCalled();
$this->applyShippingCharges($order);
}
示例8: process
/**
* {@inheritdoc}
*/
public function process(OrderInterface $order)
{
// Remove all shipping adjustments, we recalculate everything from scratch.
$order->removeAdjustments(AdjustmentInterface::SHIPPING_ADJUSTMENT);
foreach ($order->getShipments() as $shipment) {
try {
$shippingCharge = $this->shippingChargesCalculator->calculate($shipment);
$adjustment = $this->adjustmentFactory->createNew();
$adjustment->setType(AdjustmentInterface::SHIPPING_ADJUSTMENT);
$adjustment->setAmount($shippingCharge);
$adjustment->setLabel($shipment->getMethod()->getName());
$order->addAdjustment($adjustment);
} catch (UndefinedShippingMethodException $exception) {
}
}
}
示例9:
function it_does_not_apply_taxes_if_there_is_no_tax_zone($defaultTaxZoneProvider, $zoneMatcher, $orderItemsTaxesApplicator, AddressInterface $address, \Iterator $iterator, Collection $items, OrderInterface $order, OrderItemInterface $orderItem)
{
$order->removeAdjustments(AdjustmentInterface::TAX_ADJUSTMENT)->shouldBeCalled();
$order->getItems()->willReturn($items);
$order->isEmpty()->willReturn(false);
$items->count()->willReturn(1);
$items->getIterator()->willReturn($iterator);
$iterator->rewind()->shouldBeCalled();
$iterator->valid()->willReturn(true, false)->shouldBeCalled();
$iterator->current()->willReturn($orderItem);
$iterator->next()->shouldBeCalled();
$orderItem->removeAdjustmentsRecursively(AdjustmentInterface::TAX_ADJUSTMENT)->shouldBeCalled();
$order->getShippingAddress()->willReturn($address);
$zoneMatcher->match($address)->willReturn(null);
$defaultTaxZoneProvider->getZone()->willReturn(null);
$orderItemsTaxesApplicator->apply(Argument::any())->shouldNotBeCalled();
$this->apply($order);
}
示例10: applyTaxes
/**
* {@inheritdoc}
*/
public function applyTaxes(OrderInterface $order)
{
// Remove all tax adjustments, we recalculate everything from scratch.
$order->removeAdjustments(AdjustmentInterface::TAX_ADJUSTMENT);
if ($order->getItems()->isEmpty()) {
return;
}
$zone = null;
if (null !== $order->getShippingAddress()) {
// Match the tax zone.
$zone = $this->zoneMatcher->match($order->getShippingAddress());
}
if ($this->settings->has('default_tax_zone')) {
// If address does not match any zone, use the default one.
$zone = $zone ?: $this->settings->get('default_tax_zone');
}
if (null === $zone) {
return;
}
$taxes = $this->processTaxes($order, $zone);
$this->addAdjustments($taxes, $order);
}
示例11: clearTaxes
/**
* @param OrderInterface $order
*/
private function clearTaxes(OrderInterface $order)
{
$order->removeAdjustments(AdjustmentInterface::TAX_ADJUSTMENT);
foreach ($order->getItems() as $item) {
$item->removeAdjustmentsRecursively(AdjustmentInterface::TAX_ADJUSTMENT);
}
}
示例12:
function it_does_not_process_taxes_if_there_is_no_tax_zone(ZoneProviderInterface $defaultTaxZoneProvider, ZoneMatcherInterface $zoneMatcher, AddressInterface $address, \Iterator $itemsIterator, Collection $items, OrderInterface $order, OrderItemInterface $orderItem, PrioritizedServiceRegistryInterface $strategyRegistry)
{
$order->removeAdjustments(AdjustmentInterface::TAX_ADJUSTMENT)->shouldBeCalled();
$order->getItems()->willReturn($items);
$order->isEmpty()->willReturn(false);
$items->count()->willReturn(1);
$items->getIterator()->willReturn($itemsIterator);
$itemsIterator->rewind()->shouldBeCalled();
$itemsIterator->valid()->willReturn(true, false)->shouldBeCalled();
$itemsIterator->current()->willReturn($orderItem);
$itemsIterator->next()->shouldBeCalled();
$orderItem->removeAdjustmentsRecursively(AdjustmentInterface::TAX_ADJUSTMENT)->shouldBeCalled();
$order->getShippingAddress()->willReturn($address);
$zoneMatcher->match($address)->willReturn(null);
$defaultTaxZoneProvider->getZone($order)->willReturn(null);
$strategyRegistry->all()->shouldNotBeCalled();
$this->process($order);
}