Beispiel #1
0
 function it_should_generate_coupons_according_to_instruction(FactoryInterface $couponFactory, CouponRepositoryInterface $couponRepository, ObjectManager $objectManager, PromotionInterface $promotion, CouponInterface $coupon, InstructionInterface $instruction, GenerationPolicyInterface $generationPolicy)
 {
     $instruction->getAmount()->willReturn(1);
     $instruction->getUsageLimit()->willReturn(null);
     $instruction->getExpiresAt()->willReturn(null);
     $instruction->getCodeLength()->willReturn(6);
     $generationPolicy->isGenerationPossible($instruction)->willReturn(true);
     $couponFactory->createNew()->willReturn($coupon);
     $couponRepository->findOneBy(Argument::any())->willReturn(null);
     $coupon->setPromotion($promotion)->shouldBeCalled();
     $coupon->setCode(Argument::any())->shouldBeCalled();
     $coupon->setUsageLimit(null)->shouldBeCalled();
     $coupon->setExpiresAt(null)->shouldBeCalled();
     $objectManager->persist($coupon)->shouldBeCalled();
     $objectManager->flush()->shouldBeCalled();
     $this->generate($promotion, $instruction);
 }