Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 9 |
AssertConfigEntityImportTrait | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 9 |
assertConfigEntityImport | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 9 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\config\Tests\AssertConfigEntityImportTrait. | |
*/ | |
namespace Drupal\config\Tests; | |
use Drupal\Core\Config\Entity\ConfigEntityInterface; | |
/** | |
* Provides test assertions for testing config entity synchronization. | |
* | |
* Can be used by test classes that extend \Drupal\simpletest\WebTestBase or | |
* \Drupal\simpletest\KernelTestBase. | |
*/ | |
trait AssertConfigEntityImportTrait { | |
/** | |
* Asserts that a config entity can be imported without changing it. | |
* | |
* @param \Drupal\Core\Config\Entity\ConfigEntityInterface $entity | |
* The config entity to test importing. | |
*/ | |
public function assertConfigEntityImport(ConfigEntityInterface $entity) { | |
// Save original config information. | |
$entity_uuid = $entity->uuid(); | |
$entity_type_id = $entity->getEntityTypeId(); | |
$original_data = $entity->toArray(); | |
// Copy everything to sync. | |
$this->copyConfig(\Drupal::service('config.storage'), \Drupal::service('config.storage.sync')); | |
// Delete the configuration from active. Don't worry about side effects of | |
// deleting config like fields cleaning up field storages. The coming import | |
// should recreate everything as necessary. | |
$entity->delete(); | |
$this->configImporter()->reset()->import(); | |
$imported_entity = \Drupal::entityManager()->loadEntityByUuid($entity_type_id, $entity_uuid); | |
$this->assertIdentical($original_data, $imported_entity->toArray()); | |
} | |
} |