/** * ProductToSkuTransformer constructor. * * @param EntityManager $em */ public function __construct(EntityManager $em) { parent::__construct($em, 'MarelloOrderBundle:Order', 'sku', function (EntityRepository $repository, $orderNumber) { $qb = $repository->createQueryBuilder('o'); return $qb->where($qb->expr()->like('o.orderNumber', $qb->expr()->literal($orderNumber))); }); }
/** * ProductToSkuTransformer constructor. * * @param EntityManager $em */ public function __construct(EntityManager $em) { parent::__construct($em, 'MarelloProductBundle:Product', 'sku', function (EntityRepository $repository, $sku) { $qb = $repository->createQueryBuilder('p'); return $qb->where($qb->expr()->like('p.sku', $qb->expr()->literal($sku))); }); }
/** * @expectedException \Symfony\Component\Form\Exception\UnexpectedTypeException * @expectedExceptionMessage Expected argument of type "Doctrine\ORM\QueryBuilder", "NULL" given */ public function testReverseTransformQueryBuilderUnexpectedTypeException() { $entity = $this->createMockEntity('id', 1); $repository = $this->getMockBuilder('Doctrine\\ORM\\EntityRepository')->disableOriginalConstructor()->getMock(); $callback = function () { return null; }; $em = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock(); $em->expects($this->once())->method('getRepository')->with('TestClass')->will($this->returnValue($repository)); $transformer = new EntityToIdTransformer($em, 'TestClass', 'id', $callback); $this->assertEquals($entity, $transformer->reverseTransform(1)); }