You are here

trait AssertConfigEntityImportTrait in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/config/src/Tests/AssertConfigEntityImportTrait.php \Drupal\config\Tests\AssertConfigEntityImportTrait

Provides test assertions for testing config entity synchronization.

Can be used by test classes that extend \Drupal\simpletest\WebTestBase or \Drupal\simpletest\KernelTestBase.

Hierarchy

1 file declares its use of AssertConfigEntityImportTrait
EntityReferenceIntegrationTest.php in core/modules/field/src/Tests/EntityReference/EntityReferenceIntegrationTest.php
Contains \Drupal\field\Tests\EntityReference\EntityReferenceIntegrationTest.

File

core/modules/config/src/Tests/AssertConfigEntityImportTrait.php, line 18
Contains \Drupal\config\Tests\AssertConfigEntityImportTrait.

Namespace

Drupal\config\Tests
View source
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());
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AssertConfigEntityImportTrait::assertConfigEntityImport public function Asserts that a config entity can be imported without changing it.