本文整理汇总了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);
}