/** * @param string $code * @param array $generatedCoupons * * @return bool */ protected function isUsedCode($code, array $generatedCoupons) { if (isset($generatedCoupons[$code])) { return true; } return null !== $this->couponRepository->findOneBy(['code' => $code]); }
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); }
/** * @Then /^(this coupon) should no longer exist in the coupon registry$/ */ public function couponShouldNotExistInTheRegistry(CouponInterface $coupon) { Assert::null($this->couponRepository->findOneBy(['code' => $coupon->getCode()]), sprintf('The coupon with code %s should not exist', $coupon->getCode())); }