Пример #1
0
 /**
  * {@inheritdoc}
  */
 public function sendOrderConfirmation(OrderInterface $order)
 {
     if (!($user = $order->getUser())) {
         throw new \InvalidArgumentException('Order has to belong to a User');
     }
     $this->sendEmail(array('order' => $order), $user->getEmail());
 }
Пример #2
0
 function it_should_recognize_subject_as_not_eligible_if_nth_order_is_equal_with_configured(OrderInterface $subject, UserInterface $user, \Countable $orders)
 {
     $subject->getUser()->shouldBeCalled()->willReturn($user);
     $user->getOrders()->shouldBeCalled()->willReturn($orders);
     $orders->count()->shouldBeCalled()->willReturn(10);
     $this->isEligible($subject, array('nth' => 10))->shouldReturn(true);
 }
Пример #3
0
 /**
  * {@inheritdoc}
  */
 public function sendOrderComment(OrderInterface $order, CommentInterface $comment = null)
 {
     if (!($user = $order->getUser())) {
         throw new \InvalidArgumentException('Order has to belong to a User.');
     }
     $this->sendEmail(array('order' => $order, 'comment' => $comment), $user->getEmail());
 }
 function it_sends_order_confirmation_email(OrderInterface $order, UserInterface $user, TwigMailerInterface $mailer)
 {
     $parameters = array('template' => 'test-template.html.twig', 'from_email' => '*****@*****.**');
     $this->beConstructedWith($mailer, $parameters);
     $user->getEmail()->willReturn('*****@*****.**');
     $order->getUser()->willReturn($user);
     $mailer->sendEmail('test-template.html.twig', array('order' => $order), '*****@*****.**', '*****@*****.**')->shouldBeCalled();
     $this->sendOrderConfirmation($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);
 }
Пример #6
0
 function it_should_recognize_subject_as_not_eligible_if_user_is_created_before_configured(OrderInterface $subject, TimestampableInterface $user)
 {
     $subject->getUser()->willReturn($user);
     $user->getCreatedAt()->willReturn(new \DateTime());
     $this->isEligible($subject, array('time' => 30, 'unit' => 'days', 'after' => true))->shouldReturn(true);
 }
Пример #7
0
 function it_should_recognize_subject_as_not_eligible_if_nth_order_is_equal_with_configured(OrderInterface $subject, UserInterface $user, $ordersRepository)
 {
     $subject->getUser()->willReturn($user);
     $ordersRepository->countByUserAndPaymentState($user, PaymentInterface::STATE_COMPLETED)->willReturn(9);
     $this->isEligible($subject, array('nth' => 10))->shouldReturn(true);
 }