You are here

public function DynamicEntityReferenceConfigEntityBaseFieldTest::testMixedBaseField in Dynamic Entity Reference 8.2

Content entity and config entity base DER field.

File

tests/src/Kernel/DynamicEntityReferenceConfigEntityBaseFieldTest.php, line 164

Class

DynamicEntityReferenceConfigEntityBaseFieldTest
Base field tests for referencing config entities.

Namespace

Drupal\Tests\dynamic_entity_reference\Kernel

Code

public function testMixedBaseField() {

  // @see dynamic_entity_reference_entity_test_entity_base_field_info()
  $this->state
    ->set('dynamic_entity_reference_entity_test_entities', [
    $this->entityType,
    'config_test',
    'entity_test_mul',
  ]);
  $this
    ->enableModules([
    'dynamic_entity_reference_entity_test',
  ]);

  // Reference a config entity.
  $entity = $this->container
    ->get('entity_type.manager')
    ->getStorage($this->entityType)
    ->create([
    'type' => $this->bundle,
  ]);
  $entity->{$this->fieldName}->target_type = $this->configTestReference
    ->getEntityTypeId();
  $entity->{$this->fieldName}->target_id = $this->configTestReference
    ->id();
  $violations = $entity->{$this->fieldName}
    ->validate();
  $this
    ->assertEmpty($violations
    ->count(), 'Validation passes.');

  // Reference a content entity.
  $referenced_entity = $this->container
    ->get('entity_type.manager')
    ->getStorage('entity_test_mul')
    ->create([
    'type' => $this->bundle,
  ]);
  $entity = $this->container
    ->get('entity_type.manager')
    ->getStorage($this->entityType)
    ->create([
    'type' => $this->bundle,
  ]);
  $entity->{$this->fieldName}->target_type = $referenced_entity
    ->getEntityTypeId();
  $entity->{$this->fieldName}->target_id = $referenced_entity
    ->id();
  $violations = $entity->{$this->fieldName}
    ->validate();
  $this
    ->assertEmpty($violations
    ->count(), 'Validation passes.');
}