You are here

public function AssertConfigEntityImportTrait::assertConfigEntityImport 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::assertConfigEntityImport()

Asserts that a config entity can be imported without changing it.

Parameters

\Drupal\Core\Config\Entity\ConfigEntityInterface $entity: The config entity to test importing.

1 call to AssertConfigEntityImportTrait::assertConfigEntityImport()
EntityReferenceIntegrationTest::testSupportedEntityTypesAndWidgets in core/modules/field/src/Tests/EntityReference/EntityReferenceIntegrationTest.php
Tests the entity reference field with all its supported field widgets.

File

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

Class

AssertConfigEntityImportTrait
Provides test assertions for testing config entity synchronization.

Namespace

Drupal\config\Tests

Code

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());
}