Esempio n. 1
0
 public function incrementCouponUsage(OrderInterface $order)
 {
     foreach ($order->getPromotionCoupons() as $coupon) {
         $coupon->incrementUsed();
     }
 }
 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->getPromotionCoupons()->willReturn(array($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(array($coupon));
     $this->isEligible($subject, $promotion)->shouldReturn(true);
 }
 function it_increments_coupon_usage_if_coupon_was_set(OrderInterface $order, CouponInterface $coupon)
 {
     $order->getPromotionCoupons()->willReturn([$coupon]);
     $coupon->incrementUsed()->shouldBeCalled();
     $this->incrementCouponUsage($order);
 }