protected function setUp()
 {
     $this->em = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock();
     $translator = $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface');
     $translator->expects($this->any())->method('trans')->will($this->returnArgument(0));
     $registry = $this->getMockForAbstractClass('Doctrine\\Common\\Persistence\\ManagerRegistry', [], '', false);
     $registry->expects($this->any())->method('getManagerForClass')->will($this->returnValue($this->em));
     $this->formFactory = Forms::createFormFactoryBuilder()->addExtensions([new PreloadedExtension(['oro_type_filter' => new FilterType($translator), 'oro_type_choice_filter' => new ChoiceFilterType($translator), 'entity' => new EntityType($registry), 'oro_type_entity_filter' => new EntityFilterType($translator)], []), new CsrfExtension($this->getMock('Symfony\\Component\\Form\\Extension\\Csrf\\CsrfProvider\\CsrfProviderInterface'))])->getFormFactory();
     $classMetaData = $this->getMockBuilder('Doctrine\\ORM\\Mapping\\ClassMetadata')->disableOriginalConstructor()->getMock();
     $classMetaData->expects($this->any())->method('getName')->will($this->returnValue('OroSegment:Segment'));
     $classMetaData->expects($this->any())->method('getIdentifier')->will($this->returnValue(['id']));
     $this->em->expects($this->any())->method('getClassMetadata')->will($this->returnValue($classMetaData));
     $this->dynamicSegmentQueryBuilder = $this->getMockBuilder('Oro\\Bundle\\SegmentBundle\\Query\\DynamicSegmentQueryBuilder')->disableOriginalConstructor()->getMock();
     $this->staticSegmentQueryBuilder = $this->getMockBuilder('Oro\\Bundle\\SegmentBundle\\Query\\StaticSegmentQueryBuilder')->disableOriginalConstructor()->getMock();
     $this->entityNameProvider = $this->getMock('Oro\\Bundle\\SegmentBundle\\Provider\\EntityNameProvider');
     $this->entityNameProvider->expects($this->any())->method('getEntityName')->will($this->returnValue('Namespace\\Entity'));
     $this->entityConfigProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock();
     $this->extendConfigProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock();
     $configManager = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Config\\ConfigManager')->disableOriginalConstructor()->getMock();
     $this->entityConfigProvider->expects($this->any())->method('getConfigManager')->will($this->returnValue($configManager));
     $configManager->expects($this->any())->method('getEntityManager')->will($this->returnValue($this->em));
     $staticQBServiceID = uniqid('static');
     $dynamicQBServiceID = uniqid('dynamic');
     $container = new Container();
     $container->set($staticQBServiceID, $this->staticSegmentQueryBuilder);
     $container->set($dynamicQBServiceID, $this->dynamicSegmentQueryBuilder);
     $this->filter = new SegmentFilter($this->formFactory, new FilterUtility(), new ServiceLink($container, $dynamicQBServiceID), new ServiceLink($container, $staticQBServiceID), $this->entityNameProvider, $this->entityConfigProvider, $this->extendConfigProvider);
     $this->filter->init('segment', ['entity' => '']);
 }
 public function testProvider()
 {
     $this->assertFalse($this->provider->getEntityName());
     $entityName = 'Acme\\Entity\\Test\\Entity';
     $this->entity->expects($this->once())->method('getEntity')->will($this->returnValue($entityName));
     $this->provider->setCurrentItem($this->entity);
     $this->assertEquals($entityName, $this->provider->getEntityName());
 }
Exemple #3
0
 /**
  * {@inheritDoc}
  */
 public function getForm()
 {
     if (!$this->form) {
         $entityName = $this->entityNameProvider->getEntityName();
         // hard coded field, do not allow to pass any option
         $this->form = $this->formFactory->create($this->getFormType(), [], ['csrf_protection' => false, 'field_options' => ['class' => 'OroSegmentBundle:Segment', 'property' => 'name', 'required' => true, 'query_builder' => function (EntityRepository $repo) use($entityName) {
             $qb = $repo->createQueryBuilder('s');
             if ($entityName) {
                 $qb->where('s.entity = :entity')->setParameter('entity', $entityName);
             }
             return $qb;
         }]]);
     }
     return $this->form;
 }