示例#1
0
 public function testPersistAndMerge()
 {
     $configId = new EntityConfigId('entity', self::ENTITY_CLASS);
     $config1 = $this->getConfig($configId, ['val1' => '1', 'val2' => '1']);
     $config2 = $this->getConfig($configId, ['val2' => '2_new', 'val3' => '3']);
     $expectedConfig = $this->getConfig($configId, ['val1' => '1', 'val2' => '2_new', 'val3' => '3']);
     $this->configManager->persist($config1);
     $this->configManager->merge($config2);
     $toBePersistedConfigs = $this->configManager->getUpdateConfig();
     $this->assertEquals([$expectedConfig], $toBePersistedConfigs);
 }
示例#2
0
 public function testPersistAndMerge()
 {
     $configId = new EntityConfigId('entity', self::ENTITY_CLASS);
     $config1 = new Config($configId);
     $config1->set('val1', '1');
     $config1->set('val2', '2');
     $config2 = new Config($configId);
     $config2->set('val2', '2_new');
     $config2->set('val3', '3');
     $expectedConfig = new Config($configId);
     $expectedConfig->set('val1', '1');
     $expectedConfig->set('val2', '2_new');
     $expectedConfig->set('val3', '3');
     $this->configManager->persist($config1);
     $this->configManager->merge($config2);
     $toBePersistedConfigs = $this->configManager->getUpdateConfig();
     $this->assertEquals([$expectedConfig], $toBePersistedConfigs);
 }
示例#3
0
 /**
  * Creates a log entry contains all changed configs
  *
  * @param ConfigManager $configManager
  *
  * @return ConfigLog|null
  */
 public function buildLogEntry(ConfigManager $configManager)
 {
     $user = $this->getUser();
     if (null === $user) {
         return null;
     }
     $log = new ConfigLog();
     foreach ($configManager->getUpdateConfig() as $config) {
         $diff = $this->computeChanges($config, $configManager);
         if (null !== $diff) {
             $log->addDiff($diff);
         }
     }
     if ($log->getDiffs()->isEmpty()) {
         return null;
     }
     $log->setUser($user);
     return $log;
 }