示例#1
0
 protected function createEntityConfigModel($className, $mode = ConfigModel::MODE_DEFAULT)
 {
     $result = new EntityConfigModel($className);
     $result->setMode($mode);
     return $result;
 }
 /**
  * @return EntityConfigModel[]
  */
 protected function getEntityConfigModels()
 {
     $models = [];
     for ($i = 1; $i <= self::NUMBER_OF_ENTITIES; $i++) {
         $model = new EntityConfigModel('Entity' . $i);
         if ($i % 20 === 0) {
             $model->setMode(ConfigModel::MODE_HIDDEN);
         }
         foreach ($this->getFieldConfigModels() as $field) {
             $model->addField($field);
         }
         $models[] = $model;
     }
     return $models;
 }
 public function testCreateEntityModel()
 {
     $expectedResult = new EntityConfigModel(self::TEST_ENTITY);
     $expectedResult->setMode(ConfigModelManager::MODE_DEFAULT);
     $this->createRepositoryMock([], [UnitOfWork::STATE_MANAGED]);
     $result = $this->configModelManager->createEntityModel(self::TEST_ENTITY);
     $this->assertEquals($expectedResult, $result);
     // test that the created model is stored in a local cache
     $this->assertSame($result, $this->configModelManager->getEntityModel(self::TEST_ENTITY));
 }
示例#4
0
 /**
  * @param string|null $className
  * @param string|null $mode
  *
  * @return EntityConfigModel
  *
  * @throws \InvalidArgumentException if $mode is invalid
  * @throws RuntimeException if models are locked
  */
 public function createEntityModel($className = null, $mode = ConfigModel::MODE_DEFAULT)
 {
     if (!$this->isValidMode($mode)) {
         throw new \InvalidArgumentException(sprintf('Invalid $mode: "%s"', $mode));
     }
     if ($this->lockObject->isLocked()) {
         throw new RuntimeException(sprintf('Cannot create entity model for "%s" because config models are locked.', $className));
     }
     $entityModel = new EntityConfigModel($className);
     $entityModel->setMode($mode);
     if (!empty($className)) {
         $this->ensureEntityCacheWarmed();
         $this->entities[$className] = $entityModel;
     }
     return $entityModel;
 }
示例#5
0
 /**
  * @param string|null $className
  * @param string|null $mode
  * @return EntityConfigModel
  * @throws \InvalidArgumentException
  */
 public function createEntityModel($className = null, $mode = self::MODE_DEFAULT)
 {
     if (!in_array($mode, array(self::MODE_DEFAULT, self::MODE_HIDDEN, self::MODE_READONLY))) {
         throw new \InvalidArgumentException(sprintf('Invalid $mode: "%s"', $mode));
     }
     $entityModel = new EntityConfigModel($className);
     $entityModel->setMode($mode);
     if (!empty($className)) {
         $this->ensureEntityLocalCacheWarmed();
         $this->entityLocalCache[$className] = $entityModel;
     }
     return $entityModel;
 }
 /**
  * @dataProvider customEntityDataProvider
  */
 public function testGetEntityAliasForCustomEntity($entityClass, $expectedAlias)
 {
     $entityConfigModel = new EntityConfigModel();
     $entityConfigModel->setClassName($entityClass);
     $entityConfigModel->setMode(ConfigModelManager::MODE_DEFAULT);
     $enumConfigProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock();
     $enumConfig = new Config(new EntityConfigId('enum', $entityClass));
     $groupingConfigProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock();
     $groupingConfig = new Config(new EntityConfigId('grouping', $entityClass));
     $this->configManager->expects($this->once())->method('getConfigEntityModel')->with($entityClass)->willReturn($entityConfigModel);
     $this->configManager->expects($this->exactly(2))->method('getProvider')->willReturnMap([['enum', $enumConfigProvider], ['grouping', $groupingConfigProvider]]);
     $enumConfigProvider->expects($this->once())->method('getConfig')->with($entityClass)->willReturn($enumConfig);
     $groupingConfigProvider->expects($this->once())->method('getConfig')->with($entityClass)->willReturn($groupingConfig);
     $result = $this->entityAliasProvider->getEntityAlias($entityClass);
     $this->assertEntityAlias($expectedAlias, $result);
 }
 public function testCreateEntityModel()
 {
     $result = new EntityConfigModel(DemoEntity::ENTITY_NAME);
     $result->setMode(ConfigModelManager::MODE_DEFAULT);
     $this->assertEquals($result, $this->configModelManager->createEntityModel(DemoEntity::ENTITY_NAME));
 }
 /**
  * @param string $className
  * @param string $mode
  * @throws \InvalidArgumentException
  * @return EntityConfigModel
  */
 public function createEntityModel($className, $mode = self::MODE_DEFAULT)
 {
     if (!in_array($mode, array(self::MODE_DEFAULT, self::MODE_READONLY))) {
         throw new \InvalidArgumentException(sprintf('EntityConfigModel give invalid parameter "mode" : "%s"', $mode));
     }
     $entityModel = new EntityConfigModel($className);
     $entityModel->setMode($mode);
     $this->localCache->set($className, $entityModel);
     return $entityModel;
 }