protected function setUp()
 {
     $this->configManager = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Config\\ConfigManager')->disableOriginalConstructor()->getMock();
     $this->configProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProviderInterface')->disableOriginalConstructor()->getMock();
     $this->configManager->expects($this->any())->method('getProvider')->will($this->returnValue($this->configProvider));
     $this->fieldTypeHelper = $this->getMockBuilder('Oro\\Bundle\\EntityExtendBundle\\Extend\\FieldTypeHelper')->disableOriginalConstructor()->getMock();
     $this->dispatcher = $this->getMock('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface');
     $this->extension = new DynamicFieldsExtension($this->configManager, $this->fieldTypeHelper, $this->dispatcher);
 }
 public function testGetConfiguration()
 {
     $metadata = new EntityMetadata('Oro\\Bundle\\UserBundle\\Entity\\User');
     $this->configManager->expects($this->once())->method('getEntityMetadata')->will($this->returnValue($metadata));
     $repository = $this->getMockBuilder('Doctrine\\ORM\\EntityRepository')->disableOriginalConstructor()->getMock();
     $repository->expects($this->once())->method('find')->with(2)->will($this->returnValue($this->getSegment()));
     $this->doctrine->expects($this->once())->method('getRepository')->with('OroSegmentBundle:Segment')->will($this->returnValue($repository));
     $result = $this->provider->getConfiguration(Segment::GRID_PREFIX . '2');
     $this->assertInstanceOf('Oro\\Bundle\\DataGridBundle\\Datagrid\\Common\\DatagridConfiguration', $result);
 }
 /**
  * @dataProvider postFlushProvider
  *
  * @param array $entities
  */
 public function testPostFlush($entities)
 {
     $this->mockMetadata(count($entities));
     $this->configManager->expects($this->exactly(count($entities)))->method('hasConfig')->will($this->returnValue(true));
     foreach ($entities as $entity) {
         $args = new LifecycleEventArgs($entity['entity'], $this->entityManager);
         $this->listener->preRemove($args);
     }
     $repository = $this->getMockBuilder('Oro\\Bundle\\SegmentBundle\\Entity\\Repository\\SegmentSnapshotRepository')->disableOriginalConstructor()->getMock();
     $repository->expects($this->once())->method('massRemoveByEntities')->with($entities);
     $this->entityManager->expects($this->once())->method('getRepository')->will($this->returnValue($repository));
     $args = new PostFlushEventArgs($this->entityManager);
     $this->listener->postFlush($args);
 }
 /**
  * @param array $activity
  * @param int $qbCalls
  * @param int $hasModelCalls
  * @param int $hasModelCalls
  *
  * @dataProvider getInheritanceDataProvider
  */
 public function testApplyInheritanceActivity($activity, $qbCalls, $hasModelCalls, $getConfigCalls)
 {
     $config = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Config\\Config')->disableOriginalConstructor()->getMock();
     $config->expects($this->exactly($getConfigCalls))->method('getValues')->willReturn($activity);
     $this->configManager->expects($this->exactly($hasModelCalls))->method('hasConfigEntityModel')->with('test')->willReturn(true);
     $this->configManager->expects($this->exactly($getConfigCalls))->method('getEntityConfig')->with('activity', 'test')->willReturn($config);
     $expr = new Expr();
     $em = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock();
     $em->expects($this->any())->method('getExpressionBuilder')->willReturn($expr);
     $qb = new QueryBuilder($em);
     $qb->select('test')->from('test', 'ttt');
     $em->expects($this->exactly($qbCalls))->method('createQueryBuilder')->willReturn($qb);
     $this->registry->expects($this->exactly($qbCalls))->method('getManagerForClass')->willReturn($em);
     $this->activityInheritanceTargetsHelper->applyInheritanceActivity($qb, 'test', 1);
 }
Esempio n. 5
0
 public function testGetFieldProperties()
 {
     $configType = PropertyConfigContainer::TYPE_FIELD;
     $fieldType = 'string';
     $scope = 'testScope';
     $code = 'test_code';
     $providerConfig = [$code => ['options' => [], 'form' => []]];
     $propertyConfig = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\PropertyConfigContainer')->disableOriginalConstructor()->getMock();
     $propertyConfig->expects($this->once())->method('hasForm')->with($configType, $fieldType)->willReturn($propertyConfig);
     $propertyConfig->expects($this->once())->method('getFormItems')->with($configType, $fieldType)->willReturn($providerConfig);
     $configProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock();
     $configProvider->expects($this->once())->method('getPropertyConfig')->willReturn($propertyConfig);
     $configProvider->expects($this->once())->method('getScope')->willReturn($scope);
     $this->configManager->expects($this->once())->method('getProviders')->willReturn([$configProvider]);
     $provider = new FieldTypeProvider($this->configManager, [], []);
     $this->assertEquals([$scope => $providerConfig], $provider->getFieldProperties($fieldType, $configType));
 }
 /**
  * @dataProvider configValuesProvider
  *
  * @param string $entityName
  * @param bool   $hasConfig
  * @param array  $configValuesMap
  * @param array  $expectedResult
  */
 public function testGetMetadata($entityName, $hasConfig, array $configValuesMap, array $expectedResult)
 {
     $classMetadata = new ClassMetadataInfo($entityName);
     $object = $this->getMock('Oro\\Bundle\\SoapBundle\\Controller\\Api\\EntityManagerAwareInterface');
     $apiManager = $this->getMockBuilder('Oro\\Bundle\\SoapBundle\\Entity\\Manager\\ApiEntityManager')->disableOriginalConstructor()->getMock();
     $apiManager->expects($this->once())->method('getMetadata')->willReturn($classMetadata);
     $object->expects($this->once())->method('getManager')->willReturn($apiManager);
     $this->cm->expects($this->once())->method('hasConfig')->willReturn($hasConfig);
     if ($hasConfig) {
         $config = $this->getMock('Oro\\Bundle\\EntityConfigBundle\\Config\\ConfigInterface');
         $this->cm->expects($this->once())->method('getConfig')->with(new EntityConfigId('entity', $entityName))->willReturn($config);
         $config->expects($this->any())->method('get')->willReturnMap($configValuesMap);
         $this->translator->expects($this->any())->method('trans')->willReturnArgument(0);
     }
     $result = $this->provider->getMetadataFor($object);
     $this->assertInternalType('array', $result);
     $this->assertEquals($expectedResult, $result);
 }
Esempio n. 7
0
 public function testGetEntitiesMetadata()
 {
     $this->entityProvider->expects($this->at(0))->method('getEntity')->will($this->returnvalue($this->entityConfig1));
     $this->entityProvider->expects($this->at(1))->method('getEntity')->will($this->returnvalue($this->entityConfig2));
     $this->entityProvider->expects($this->at(2))->method('getEntity')->will($this->returnvalue($this->entityConfig3));
     $extendConfigModel = $this->getMock('Oro\\Bundle\\EntityConfigBundle\\Config\\ConfigInterface');
     $extendConfigModel->expects($this->any())->method('get')->with($this->equalTo('owner'))->will($this->returnValue('Custom'));
     $extendProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock();
     $extendProvider->expects($this->once())->method('map')->will($this->returnValue([]));
     $extendProvider->expects($this->any())->method('getConfig')->will($this->returnValue($extendConfigModel));
     $this->configManager->expects($this->any())->method('getProvider')->with($this->equalTo('extend'))->will($this->returnValue($extendProvider));
     $this->configManager->expects($this->any())->method('getConfigEntityModel')->will($this->onConsecutiveCalls($this->entityConfigModel1, $this->entityConfigModel2));
     $this->router->expects($this->exactly(4))->method('generate');
     /** @var MetadataProvider $provider */
     $provider = new MetadataProvider($this->settingsProvider, $this->entityProvider, $this->configManager, $this->router);
     $result = $provider->getEntitiesMetadata();
     for ($i = 1; $i < 3; $i++) {
         $expectedConfig = $this->getExpectedConfig($i);
         $entityName = $expectedConfig['name'];
         $this->assertEquals($expectedConfig, $result[$entityName]);
     }
 }
Esempio n. 8
0
 protected function prepareTestTypeWithRelations($config = [], $withAssigned = true)
 {
     $entityConfigMock = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Config\\Config')->disableOriginalConstructor()->getMock();
     $entityConfigMock->expects($this->at(0))->method('is')->with('relation')->will($this->returnValue(true));
     $entityConfigMock->expects($this->at(1))->method('get')->with('relation')->will($this->returnValue($config['relationConfig']));
     if ($withAssigned) {
         $entityConfigMock->expects($this->at(2))->method('get')->with('label')->will($this->returnValue('labelValue'));
     }
     $configProviderMock = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock();
     $configProviderMock->expects($this->any())->method('getConfig')->will($this->returnValue($entityConfigMock));
     $configProviderMock->expects($this->any())->method('getConfigById')->with($config['relationTargetConfigFieldId'])->will($this->returnValue($entityConfigMock));
     $this->configManagerMock->expects($this->any())->method('getProvider')->will($this->returnValue($configProviderMock));
 }
 public function testGetConfigs()
 {
     $this->configManager->expects($this->exactly(4))->method('getIds')->with('testScope', DemoEntity::ENTITY_NAME)->will($this->returnValue(array($this->entityConfig->getId())));
     $this->assertEquals(array($this->entityConfig->getId()), $this->configProvider->getIds(DemoEntity::ENTITY_NAME));
     $this->assertEquals(array($this->entityConfig), $this->configProvider->getConfigs(DemoEntity::ENTITY_NAME));
     $this->assertEquals(array(), $this->configProvider->filter(function (ConfigInterface $config) {
         return $config->getId()->getScope() == 'wrongScope';
     }, DemoEntity::ENTITY_NAME));
     $entityConfig = new Config(new EntityConfigId(DemoEntity::ENTITY_NAME, 'testScope'));
     $entityConfig->set('key', 'value');
     $this->assertEquals(array($entityConfig), $this->configProvider->map(function (ConfigInterface $config) {
         return $config->set('key', 'value');
     }, DemoEntity::ENTITY_NAME));
 }
 protected function prepareTestTypeWithRelations()
 {
     $config = $this->prepareReverseRelationsConfig();
     $entityConfigMockUser = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Config\\Config')->setConstructorArgs([$config['selfEntityConfig']->getId()])->setMockClassName('entityConfigMockUser')->setMethods(null)->getMock();
     $entityConfigMockUser->set('relation', $config['selfEntityConfig']->get('relation'));
     $entityConfigMockTarget = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Config\\Config')->setConstructorArgs([$config['targetEntityConfig']->getId()])->setMockClassName('entityConfigMockTarget')->setMethods(null)->getMock();
     $entityConfigMockTarget->set('relation', $config['targetEntityConfig']->get('relation'));
     $configProviderMock = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->setMockClassName('configProviderMock')->getMock();
     $configProviderMock->expects($this->any())->method('getConfig')->will($this->returnCallback(function ($param) use($entityConfigMockUser, $entityConfigMockTarget) {
         switch ($param) {
             case 'Oro\\Bundle\\UserBundle\\Entity\\User':
                 return $entityConfigMockUser;
             case 'Extend\\Entity\\testEntity1':
                 return $entityConfigMockTarget;
         }
     }));
     $configProviderMock->expects($this->any())->method('getConfigById')->with($config['targetFieldId'])->will($this->returnValue($entityConfigMockTarget));
     $this->configManagerMock->expects($this->any())->method('getProvider')->will($this->returnValue($configProviderMock));
 }
Esempio n. 11
0
 /**
  * @SuppressWarnings(PHPMD.ExcessiveMethodLength)
  */
 protected function prepareRelationsWithReverseRelationsMarkedAsToBeDeleted()
 {
     $extendConfigProvider = new ConfigProviderMock($this->configManager, 'extend');
     $entityConfigProvider = new ConfigProviderMock($this->configManager, 'entity');
     $this->configManager->expects($this->any())->method('getProvider')->willReturnMap([['extend', $extendConfigProvider], ['entity', $entityConfigProvider]]);
     $selfRelations = ['manyToOne|Test\\SourceEntity|Test\\TargetEntity|rel_m_t_o' => ['field_id' => new FieldConfigId('extend', 'Test\\SourceEntity', 'rel_m_t_o', 'manyToOne'), 'owner' => true, 'target_entity' => 'Test\\TargetEntity', 'target_field_id' => new FieldConfigId('extend', 'Test\\TargetEntity', 'rev_rel_m_t_o', 'oneToMany')], 'oneToMany|Test\\SourceEntity|Test\\TargetEntity|rel_o_t_m' => ['field_id' => new FieldConfigId('extend', 'Test\\SourceEntity', 'rel_o_t_m', 'oneToMany'), 'owner' => false, 'target_entity' => 'Test\\TargetEntity', 'target_field_id' => new FieldConfigId('extend', 'Test\\TargetEntity', 'sourceentity_rel_o_t_m', 'manyToOne')], 'manyToMany|Test\\SourceEntity|Test\\TargetEntity|rel_m_t_m' => ['field_id' => new FieldConfigId('extend', 'Test\\SourceEntity', 'rel_m_t_m', 'manyToMany'), 'owner' => true, 'target_entity' => 'Test\\TargetEntity', 'target_field_id' => new FieldConfigId('extend', 'Test\\TargetEntity', 'sourceentity_rel_m_t_m', 'manyToMany')]];
     $targetRelations = ['manyToOne|Test\\SourceEntity|Test\\TargetEntity|rel_m_t_o' => ['field_id' => new FieldConfigId('extend', 'Test\\TargetEntity', 'rev_rel_m_t_o', 'oneToMany'), 'owner' => false, 'target_entity' => 'Test\\SourceEntity', 'target_field_id' => new FieldConfigId('extend', 'Test\\SourceEntity', 'rel_m_t_o', 'manyToOne')], 'oneToMany|Test\\SourceEntity|Test\\TargetEntity|rel_o_t_m' => ['field_id' => new FieldConfigId('extend', 'Test\\TargetEntity', 'sourceentity_rel_o_t_m', 'manyToOne'), 'owner' => true, 'target_entity' => 'Test\\SourceEntity', 'target_field_id' => new FieldConfigId('extend', 'Test\\SourceEntity', 'rel_o_t_m', 'oneToMany')], 'manyToMany|Test\\SourceEntity|Test\\TargetEntity|rel_m_t_m' => ['field_id' => new FieldConfigId('extend', 'Test\\TargetEntity', 'sourceentity_rel_m_t_m', 'manyToMany'), 'owner' => false, 'target_entity' => 'Test\\SourceEntity', 'target_field_id' => new FieldConfigId('extend', 'Test\\SourceEntity', 'rel_m_t_m', 'manyToMany')]];
     $extendConfigProvider->addEntityConfig('Test\\SourceEntity', ['relation' => $selfRelations]);
     $entityConfigProvider->addEntityConfig('Test\\SourceEntity', ['label' => 'Source Entity']);
     $extendConfigProvider->addFieldConfig('Test\\SourceEntity', 'rel_m_t_o', 'manyToOne', ['state' => ExtendScope::STATE_ACTIVE]);
     $entityConfigProvider->addFieldConfig('Test\\SourceEntity', 'rel_m_t_o', 'manyToOne', ['label' => 'Rel Many-To-One']);
     $extendConfigProvider->addFieldConfig('Test\\SourceEntity', 'rel_o_t_m', 'oneToMany', ['state' => ExtendScope::STATE_ACTIVE]);
     $entityConfigProvider->addFieldConfig('Test\\SourceEntity', 'rel_o_t_m', 'oneToMany', ['label' => 'Rel One-To-Many']);
     $extendConfigProvider->addFieldConfig('Test\\SourceEntity', 'rel_m_t_m', 'manyToMany', ['state' => ExtendScope::STATE_ACTIVE]);
     $entityConfigProvider->addFieldConfig('Test\\SourceEntity', 'rel_m_t_m', 'manyToMany', ['label' => 'Rel Many-To-Many']);
     $extendConfigProvider->addEntityConfig('Test\\TargetEntity', ['relation' => $targetRelations]);
     $entityConfigProvider->addEntityConfig('Test\\TargetEntity', ['label' => 'Target Entity']);
     $extendConfigProvider->addFieldConfig('Test\\TargetEntity', 'rev_rel_m_t_o', 'oneToMany', ['state' => ExtendScope::STATE_DELETE]);
     $entityConfigProvider->addFieldConfig('Test\\TargetEntity', 'rev_rel_m_t_o', 'oneToMany', ['label' => 'Reverse Rel Many-To-One']);
     $extendConfigProvider->addFieldConfig('Test\\TargetEntity', 'sourceentity_rel_o_t_m', 'oneToMany', ['state' => ExtendScope::STATE_DELETE]);
     $entityConfigProvider->addFieldConfig('Test\\TargetEntity', 'sourceentity_rel_o_t_m', 'oneToMany', ['label' => 'Rel One-To-Many']);
     $extendConfigProvider->addFieldConfig('Test\\TargetEntity', 'sourceentity_rel_m_t_m', 'manyToMany', ['state' => ExtendScope::STATE_DELETE]);
     $entityConfigProvider->addFieldConfig('Test\\TargetEntity', 'sourceentity_rel_m_t_m', 'manyToMany', ['label' => 'Rel Many-To-Many']);
 }
 /**
  * @param array $inputData
  * @param array $expectedData
  *
  * @dataProvider normalizeProvider
  */
 public function testNormalize(array $inputData, array $expectedData)
 {
     $this->configManager->expects($this->once())->method('getProviders')->willReturn($inputData['providers']);
     $this->assertEquals($expectedData, $this->normalizer->normalize($inputData['object']));
 }
 public function testLogWithOutChanges()
 {
     $this->configManager->expects($this->any())->method('getConfigChangeSet')->will($this->returnValue(array()));
     $this->auditManager->log();
 }
 protected function setUp()
 {
     $this->configManager = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Config\\ConfigManager')->disableOriginalConstructor()->getMock();
     $this->configManager->expects($this->any())->method('isConfigurable')->will($this->returnValue(true));
     $this->configManager->expects($this->any())->method('flush')->will($this->returnValue(true));
 }