public function testFindModelField() { $meta = $this->em->getClassMetadata(EntityConfigModel::ENTITY_NAME); $em = $this->getMockBuilder('Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock(); $em->expects($this->any())->method('getRepository')->will($this->returnValue(new FoundEntityConfigRepository($em, $meta))); $serviceLink = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\DependencyInjection\\Utils\\ServiceLink')->disableOriginalConstructor()->getMock(); $serviceLink->expects($this->any())->method('getService')->will($this->returnValue($em)); $configModelManager = new ConfigModelManager($serviceLink); $this->assertEquals(FoundEntityConfigRepository::getResultConfigField(), $configModelManager->findModel(DemoEntity::ENTITY_NAME, 'test')); }
/** * @param string $className * @param string $fieldName * @param string $fieldType * @param string $mode * @return FieldConfigModel */ public function createConfigFieldModel($className, $fieldName, $fieldType, $mode = ConfigModelManager::MODE_DEFAULT) { if (!($fieldModel = $this->modelManager->findModel($className, $fieldName))) { $fieldModel = $this->modelManager->createFieldModel($className, $fieldName, $fieldType, $mode); foreach ($this->getProviders() as $provider) { $defaultValues = array(); $metadata = $this->getFieldMetadata($className, $fieldName); if ($metadata && isset($metadata->defaultValues[$provider->getScope()])) { $defaultValues = $metadata->defaultValues[$provider->getScope()]; } $fieldId = new FieldConfigId($className, $provider->getScope(), $fieldName, $fieldType); $config = $provider->createConfig($fieldId, $defaultValues); $this->localCache->set($config->getId()->toString(), $config); } $this->eventDispatcher->dispatch(Events::NEW_FIELD_CONFIG_MODEL, new NewFieldConfigModelEvent($fieldModel, $this)); } return $fieldModel; }