/** * Test new index created and old deleted when field renamed */ public function testRenameField() { $entityConfig = new Config(new EntityConfigId('extend', self::ENTITY_CLASS_NAME)); $entityConfig->set('index', ['testField' => ['testField']]); $configProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock(); $configProvider->expects($this->once())->method('getConfig')->with(self::ENTITY_CLASS_NAME)->will($this->returnValue($entityConfig)); $configManager = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Config\\ConfigManager')->disableOriginalConstructor()->getMock(); $configManager->expects($this->once())->method('getProvider')->with('extend')->will($this->returnValue($configProvider)); $extendConfigProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock(); $event = new RenameFieldEvent(self::ENTITY_CLASS_NAME, 'testField', 'newName', $configManager); $configSubscriber = new ConfigSubscriber($extendConfigProvider); $configSubscriber->renameField($event); $this->assertEquals(['newName' => ['testField']], $entityConfig->get('index')); }
/** * Test class is NOT extend and should NOT be persisted */ public function testNewNotExtendEntity() { $configModel = new EntityConfigModel('Oro\\Bundle\\EntityExtendBundle\\Tests\\Unit\\Fixtures\\TestClass2'); $entityConfig = new Config(new EntityConfigId('Oro\\Bundle\\EntityExtendBundle\\Tests\\Unit\\Fixtures\\TestClass2', 'extend')); /** * value of NEW Config should be empty */ $this->assertEquals([], $entityConfig->all()); $configProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock(); $configProvider->expects($this->any())->method('getConfig')->will($this->returnValue($entityConfig)); $configManager = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Config\\ConfigManager')->disableOriginalConstructor()->setMethods(['getProvider'])->getMock(); $configManager->expects($this->any())->method('getProvider')->with('extend')->will($this->returnValue($configProvider)); $event = new EntityConfigEvent($configModel->getClassName(), $configManager); $extendConfigProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock(); $configSubscriber = new ConfigSubscriber($extendConfigProvider); $configSubscriber->updateEntityConfig($event); /** @var ConfigManager $cm */ $cm = $event->getConfigManager(); $this->assertObjectHasAttribute('persistConfigs', $cm); $this->assertAttributeEquals(null, 'persistConfigs', $cm); }
protected function runPersistConfig($eventConfig, $entityConfig, $changeSet) { $configProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock(); $configProvider->expects($this->any())->method('getConfig')->will($this->returnValue($entityConfig)); $configProvider->expects($this->any())->method('getConfigById')->will($this->returnValue($eventConfig)); $configManager = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Config\\ConfigManager')->disableOriginalConstructor()->setMethods(['getProviderBag', 'getProvider', 'getConfigChangeSet'])->getMock(); $configManager->expects($this->any())->method('getProvider')->with('extend')->will($this->returnValue($configProvider)); $configManager->expects($this->any())->method('getConfigChangeSet')->with($eventConfig)->will($this->returnValue($changeSet)); $this->event = new PersistConfigEvent($eventConfig, $configManager); $extendConfigProvider = clone $configProvider; $extendConfigProvider->expects($this->any())->method('getConfig')->will($this->returnValue($eventConfig)); $this->configSubscriber = new ConfigSubscriber($extendConfigProvider); $this->configSubscriber->persistConfig($this->event); }