/**
  * 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']]);
     $this->configProvider->expects($this->once())->method('getConfig')->with(self::ENTITY_CLASS_NAME)->will($this->returnValue($entityConfig));
     $event = new RenameFieldEvent(self::ENTITY_CLASS_NAME, 'testField', 'newName', $this->configManager);
     $listener = new EntityConfigListener();
     $listener->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());
     $this->configProvider->expects($this->any())->method('getConfig')->will($this->returnValue($entityConfig));
     $event = new EntityConfigEvent($configModel->getClassName(), $this->configManager);
     $listener = new EntityConfigListener();
     $listener->updateEntity($event);
     $this->assertEquals([], $this->configManager->getUpdateConfig());
 }
 /**
  *  Test flush new field (entity state is 'Active')
  *  The entity state should not be changed
  */
 public function testSavingNewFieldActiveEntity()
 {
     $entityConfig = $this->getEntityConfig(['state' => ExtendScope::STATE_ACTIVE]);
     $fieldConfig = $this->getEventConfigNewField();
     // add to originalValues
     $this->configCache->expects($this->once())->method('getEntityConfig')->willReturn(clone $entityConfig);
     $this->configManager->getEntityConfig($entityConfig->getId()->getScope(), $entityConfig->getId()->getClassName());
     $this->configManager->persist($entityConfig);
     $this->configManager->persist($fieldConfig);
     $fieldConfig->set('state', ExtendScope::STATE_ACTIVE);
     $this->configManager->persist($fieldConfig);
     $this->configManager->calculateConfigChangeSet($entityConfig);
     $this->configManager->calculateConfigChangeSet($fieldConfig);
     $event = new PreFlushConfigEvent(['extend' => $fieldConfig], $this->configManager);
     $listener = new EntityConfigListener();
     $listener->preFlush($event);
     $this->assertEquals([], $this->configManager->getConfigChangeSet($entityConfig));
 }