public function testEvent()
 {
     $config = new Config(new EntityConfigId('Test/Class', 'test'));
     $event = new PersistConfigEvent($config, $this->configManager);
     $this->assertEquals($config, $event->getConfig());
     $this->assertEquals($config->getId(), $event->getConfigId());
     $this->assertEquals($this->configManager, $event->getConfigManager());
 }
 /**
  * @param PersistConfigEvent $event
  */
 public function persistConfig(PersistConfigEvent $event)
 {
     $eventConfig = $event->getConfig();
     $eventConfigId = $event->getConfigId();
     if ($eventConfigId->getScope() !== 'search') {
         return;
     }
     $configManager = $event->getConfigManager();
     $configManager->calculateConfigChangeSet($eventConfig);
     $change = $configManager->getConfigChangeSet($eventConfig);
     if (empty($change) || !array_key_exists('searchable', $change)) {
         return;
     }
     $class = $eventConfigId->getClassName();
     if ($configManager->getProvider('extend')->getConfig($class)->get('state') === ExtendScope::STATE_ACTIVE) {
         $this->addReindexJob($eventConfigId->getClassName());
     } else {
         $this->addPostponeJob($eventConfigId->getClassName());
     }
 }