本文整理匯總了PHP中Sylius\Component\Core\Model\OrderInterface::getPromotionSubjectTotal方法的典型用法代碼示例。如果您正苦於以下問題:PHP OrderInterface::getPromotionSubjectTotal方法的具體用法?PHP OrderInterface::getPromotionSubjectTotal怎麽用?PHP OrderInterface::getPromotionSubjectTotal使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Sylius\Component\Core\Model\OrderInterface
的用法示例。
在下文中一共展示了OrderInterface::getPromotionSubjectTotal方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1:
function it_does_nothing_if_promotion_amount_is_0(OrderInterface $order, PromotionInterface $promotion, ProportionalIntegerDistributorInterface $proportionalIntegerDistributor)
{
$order->countItems()->willReturn(0);
$order->getPromotionSubjectTotal()->willReturn(1000);
$proportionalIntegerDistributor->distribute(Argument::any())->shouldNotBeCalled();
$this->execute($order, ['amount' => 0], $promotion);
}
示例2:
function it_does_nothing_if_adjustment_amount_would_be_0(ProportionalIntegerDistributorInterface $distributor, OrderInterface $order, PromotionInterface $promotion)
{
$order->countItems()->willReturn(0);
$order->getPromotionSubjectTotal()->willReturn(0);
$distributor->distribute(Argument::any())->shouldNotBeCalled();
$this->execute($order, ['percentage' => 0.1], $promotion);
}
示例3: array
function it_applies_percentage_discount_as_promotion_adjustment($adjustmentRepository, OrderInterface $order, AdjustmentInterface $adjustment, PromotionInterface $promotion)
{
$order->getPromotionSubjectTotal()->willReturn(10000);
$adjustmentRepository->createNew()->willReturn($adjustment);
$promotion->getDescription()->willReturn('promotion description');
$adjustment->setAmount(-2500)->shouldBeCalled();
$adjustment->setLabel(OrderInterface::PROMOTION_ADJUSTMENT)->shouldBeCalled();
$adjustment->setDescription('promotion description')->shouldBeCalled();
$order->addAdjustment($adjustment)->shouldBeCalled();
$configuration = array('percentage' => 0.25);
$this->execute($order, $configuration, $promotion);
}
示例4:
function it_does_not_applies_bigger_discount_than_promotion_subject_total($adjustmentFactory, $originator, OrderInterface $order, AdjustmentInterface $adjustment, PromotionInterface $promotion)
{
$adjustmentFactory->createNew()->willReturn($adjustment);
$promotion->getDescription()->willReturn('promotion description');
$order->getPromotionSubjectTotal()->willReturn(1000);
$adjustment->setAmount(-1000)->shouldBeCalled();
$adjustment->setType(AdjustmentInterface::ORDER_PROMOTION_ADJUSTMENT)->shouldBeCalled();
$adjustment->setLabel('promotion description')->shouldBeCalled();
$originator->setOrigin($adjustment, $promotion)->shouldBeCalled();
$order->addAdjustment($adjustment)->shouldBeCalled();
$configuration = ['amount' => 1500];
$this->execute($order, $configuration, $promotion);
}
示例5:
function it_applies_percentage_discount_as_promotion_adjustment(FactoryInterface $adjustmentFactory, $originator, OrderInterface $order, AdjustmentInterface $adjustment, PromotionInterface $promotion)
{
$order->getPromotionSubjectTotal()->willReturn(10000);
$adjustmentFactory->createNew()->willReturn($adjustment);
$promotion->getName()->willReturn('Test promotion');
$adjustment->setAmount(-2500)->shouldBeCalled();
$adjustment->setType(AdjustmentInterface::ORDER_PROMOTION_ADJUSTMENT)->shouldBeCalled();
$adjustment->setLabel('Test promotion')->shouldBeCalled();
$originator->setOrigin($adjustment, $promotion)->shouldBeCalled();
$order->addAdjustment($adjustment)->shouldBeCalled();
$configuration = ['percentage' => 0.25];
$this->execute($order, $configuration, $promotion);
}
示例6:
function it_does_not_apply_discount_if_amount_for_order_channel_is_not_configured(ChannelInterface $channel, OrderInterface $order, PromotionInterface $promotion)
{
$order->getChannel()->willReturn($channel);
$channel->getCode()->willReturn('WEB_US');
$order->countItems()->willReturn(1);
$order->getPromotionSubjectTotal()->shouldNotBeCalled();
$this->execute($order, ['WEB_PL' => ['amount' => 1000]], $promotion)->shouldReturn(false);
}