本文整理汇总了PHP中Sylius\Component\Core\Model\OrderInterface::getPromotionCoupon方法的典型用法代码示例。如果您正苦于以下问题:PHP OrderInterface::getPromotionCoupon方法的具体用法?PHP OrderInterface::getPromotionCoupon怎么用?PHP OrderInterface::getPromotionCoupon使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sylius\Component\Core\Model\OrderInterface
的用法示例。
在下文中一共展示了OrderInterface::getPromotionCoupon方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: incrementCouponUsage
public function incrementCouponUsage(OrderInterface $order)
{
$coupon = $order->getPromotionCoupon();
if (null !== $coupon) {
$coupon->incrementUsed();
}
}
示例2:
function it_decrements_a_usage_of_promotions_and_promotion_coupon_applied_on_order(OrderInterface $order, PromotionInterface $firstPromotion, PromotionInterface $secondPromotion, PromotionCouponInterface $promotionCoupon)
{
$order->getPromotions()->willReturn([$firstPromotion, $secondPromotion]);
$order->getPromotionCoupon()->willReturn($promotionCoupon);
$firstPromotion->decrementUsed()->shouldBeCalled();
$secondPromotion->decrementUsed()->shouldBeCalled();
$promotionCoupon->decrementUsed()->shouldBeCalled();
$this->decrement($order);
}
示例3:
function it_returns_false_if_subject_coupon_is_eligible_to_promotion_and_number_of_usages_is_bigger_than_coupon_usage_limit(OrderRepositoryInterface $orderRepository, OrderInterface $subject, PromotionInterface $promotion, CouponInterface $coupon, CustomerInterface $customer)
{
$subject->getPromotionCoupon()->willReturn($coupon);
$promotion->isCouponBased()->willReturn(true);
$subject->getCustomer()->willReturn($customer);
$coupon->getPromotion()->willReturn($promotion);
$coupon->getPerCustomerUsageLimit()->willReturn(5);
$orderRepository->countByCustomerAndCoupon($customer, $coupon)->willReturn(6);
$this->isEligible($subject, $promotion)->shouldReturn(false);
}
示例4:
function it_dispatches_event_and_returns_false_if_subject_coupon_is_eligible_to_promotion_and_number_of_usages_is_bigger_than_coupon_usage_limit(CouponInterface $coupon, CustomerInterface $customer, EventDispatcherInterface $eventDispatcher, OrderInterface $subject, OrderRepositoryInterface $orderRepository, PromotionInterface $promotion)
{
$subject->getPromotionCoupon()->willReturn($coupon);
$coupon->getPromotion()->willReturn($promotion);
$subject->getCustomer()->willReturn($customer);
$coupon->getPerCustomerUsageLimit()->willReturn(5);
$orderRepository->countByCustomerAndCoupon($customer, $coupon)->willReturn(6);
$eventDispatcher->dispatch(SyliusPromotionEvents::COUPON_NOT_ELIGIBLE, Argument::type(GenericEvent::class))->shouldBeCalled();
$this->isEligible($subject, $promotion)->shouldReturn(false);
}
示例5: decrement
/**
* {@inheritdoc}
*/
public function decrement(OrderInterface $order)
{
foreach ($order->getPromotions() as $promotion) {
$promotion->decrementUsed();
}
$promotionCoupon = $order->getPromotionCoupon();
if (null !== $promotionCoupon) {
$promotionCoupon->decrementUsed();
}
}
示例6: it_recognizes_subject_as_not_eligible_if_user_not_linked_to_order
public function it_recognizes_subject_as_not_eligible_if_user_not_linked_to_order(OrderInterface $subject, PromotionInterface $promotion, CouponInterface $coupon)
{
$subject->getUser()->willReturn(null);
$coupon->getCode()->willReturn('D0003');
$coupon->getPerUserUsageLimit()->willReturn(1);
$coupon->getPromotion()->willReturn($promotion);
$subject->getPromotionCoupon()->willReturn($coupon);
$promotion->getRules()->willReturn(array());
$promotion->getStartsAt()->willReturn(null);
$promotion->getEndsAt()->willReturn(null);
$promotion->isCouponBased()->willReturn(true);
$promotion->hasCoupons()->willReturn(true);
$promotion->hasCoupon($coupon)->willReturn(true);
$promotion->getUsageLimit()->willReturn(null);
$promotion->getCoupons()->willReturn(array($coupon));
$this->isEligible($subject, $promotion)->shouldReturn(false);
}
示例7:
public function it_recognizes_subject_as_eligible_if_customer_not_linked_to_order_and_coupon_not_restricted_by_customer(OrderInterface $subject, PromotionInterface $promotion, CouponInterface $coupon)
{
$subject->getCustomer()->willReturn(null);
$coupon->getCode()->willReturn('D0003');
$coupon->getPerCustomerUsageLimit()->willReturn(0);
$coupon->getPromotion()->willReturn($promotion);
$subject->getPromotionCoupon()->willReturn($coupon);
$promotion->hasRules()->willReturn(false);
$promotion->getStartsAt()->willReturn(null);
$promotion->getEndsAt()->willReturn(null);
$promotion->isCouponBased()->willReturn(true);
$promotion->hasCoupons()->willReturn(true);
$promotion->hasCoupon($coupon)->willReturn(true);
$promotion->getUsageLimit()->willReturn(null);
$promotion->getCoupons()->willReturn([$coupon]);
$this->isEligible($subject, $promotion)->shouldReturn(true);
}
示例8:
function it_increments_coupon_usage_if_coupon_was_set(OrderInterface $order, CouponInterface $coupon)
{
$order->getPromotionCoupon()->willReturn($coupon);
$coupon->incrementUsed()->shouldBeCalled();
$this->incrementCouponUsage($order);
}