protected function getExtensions()
 {
     $registry = $this->getMockBuilder('Doctrine\\Common\\Persistence\\ManagerRegistry')->disableOriginalConstructor()->getMock();
     $em = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock();
     $meta = $this->getMockBuilder('Doctrine\\ORM\\Mapping\\ClassMetadata')->disableOriginalConstructor()->getMock();
     $repo = $this->getMockBuilder('Doctrine\\ORM\\EntityRepository')->disableOriginalConstructor()->getMock();
     $calendar = new Calendar();
     ReflectionUtil::setId($calendar, 1);
     $registry->expects($this->any())->method('getManagerForClass')->with('OroCalendarBundle:Calendar')->will($this->returnValue($em));
     $em->expects($this->any())->method('getClassMetadata')->with('OroCalendarBundle:Calendar')->will($this->returnValue($meta));
     $em->expects($this->any())->method('getRepository')->with('OroCalendarBundle:Calendar')->will($this->returnValue($repo));
     $meta->expects($this->any())->method('getSingleIdentifierFieldName')->will($this->returnValue('id'));
     $repo->expects($this->any())->method('find')->with($calendar->getId())->will($this->returnValue($calendar));
     $childType = new EntityIdentifierType($registry);
     return array(new PreloadedExtension(array($childType->getName() => $childType), array()));
 }
예제 #2
0
 /**
  * @dataProvider multipleTypeDataProvider
  * @param bool $isMultiple
  */
 public function testCreateEntitiesToIdsTransformer($isMultiple)
 {
     $options = array('em' => $this->getMockEntityManager(), 'multiple' => $isMultiple, 'class' => 'TestClass', 'property' => 'id', 'queryBuilder' => function ($repository, array $ids) {
         return $repository->createQueryBuilder('o')->where('o.id IN (:values)')->setParameter('values', $ids);
     }, 'values_delimiter' => ',');
     $builder = $this->getMockBuilder('Symfony\\Component\\Form\\Test\\FormBuilderInterface')->setMethods(array('addViewTransformer', 'addEventSubscriber'))->getMockForAbstractClass();
     $builder->expects($this->at(0))->method('addViewTransformer')->with($this->callback(function ($transformer) use($options, $isMultiple) {
         if ($isMultiple) {
             \PHPUnit_Framework_TestCase::assertInstanceOf('Oro\\Bundle\\FormBundle\\Form\\DataTransformer\\EntitiesToIdsTransformer', $transformer);
         } else {
             \PHPUnit_Framework_TestCase::assertInstanceOf('Oro\\Bundle\\FormBundle\\Form\\DataTransformer\\EntityToIdTransformer', $transformer);
         }
         \PHPUnit_Framework_TestCase::assertAttributeEquals($options['em'], 'em', $transformer);
         \PHPUnit_Framework_TestCase::assertAttributeEquals($options['class'], 'className', $transformer);
         \PHPUnit_Framework_TestCase::assertAttributeEquals($options['property'], 'property', $transformer);
         \PHPUnit_Framework_TestCase::assertAttributeEquals($options['queryBuilder'], 'queryBuilderCallback', $transformer);
         return true;
     }))->will($this->returnSelf());
     if ($isMultiple) {
         $builder->expects($this->at(1))->method('addViewTransformer')->will($this->returnSelf());
     }
     $this->type = new EntityIdentifierType($this->getMockManagerRegistry());
     $this->type->buildForm($builder, $options);
 }