function it_creates_query_builder_for_the_payment_method($em, QueryBuilder $builder, ChannelInterface $channel, ArrayCollection $paymentMethods, PaymentMethodInterface $paymentMethod) { $em->createQueryBuilder()->shouldBeCalled()->willReturn($builder); $builder->select('method')->shouldBeCalled()->willReturn($builder); $builder->from(Argument::any(), 'method', Argument::cetera())->shouldBeCalled()->willReturn($builder); $builder->andWhere('method IN (:methods)')->shouldBeCalled()->willReturn($builder); $channel->getPaymentMethods()->shouldBeCalled()->willReturn($paymentMethods); $paymentMethods->toArray()->shouldBeCalled()->willReturn(array($paymentMethod)); $builder->setParameter('methods', array($paymentMethod))->shouldBeCalled()->willReturn($builder); $this->getQueryBuidlerForChoiceType(array('channel' => $channel, 'disabled' => true))->shouldReturn($builder); }
/** * {@inheritdoc} */ public function findEnabledForChannel(ChannelInterface $channel) { return $this->createQueryBuilder('o')->where('o.enabled = true')->andWhere('o IN (:paymentMethodsInChannel)')->setParameter('paymentMethodsInChannel', $channel->getPaymentMethods()->toArray())->getQuery()->getResult(); }