/**
  * 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));
 }