예제 #1
0
 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();
 }