installEntitySchema('entity_test_rev'); $user = $this->createUser(permissions: ['access devel information'], values: ['name' => 'test']); /** @var \Drupal\Core\Session\AccountProxyInterface $current_user */ $current_user = $this->container->get('current_user'); $current_user->setAccount($user); // Create a field. $this->createEntityReferenceField( $this->entityType, $this->bundle, $this->fieldName, 'Field test', $this->referencedEntityType, 'default', ['target_bundles' => [$this->bundle]], FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED ); } /** * Test method. */ public function testWithReferences(): void { // Create the parent entity. $entity = $this->container->get('entity_type.manager') ->getStorage($this->entityType) ->create(['type' => $this->bundle]); // Create three target entities and attach them to parent field. $target_entities = []; $reference_field = []; for ($i = 0; $i < 3; ++$i) { $target_entity = $this->container->get('entity_type.manager') ->getStorage($this->referencedEntityType) ->create([ 'type' => $this->bundle, 'name' => 'Related ' . $i, ]); $target_entity->save(); $target_entities[] = $target_entity; $reference_field[]['target_id'] = $target_entity->id(); } // Set the field value. $entity->{$this->fieldName}->setValue($reference_field); $entity->save(); /** @var \Drupal\devel\DevelDumperManagerInterface $dumper */ $dumper = $this->container->get('devel.dumper'); $result = $dumper->export($entity, NULL, 'drupal_variable', TRUE); for ($i = 0; $i < 3; ++$i) { $this->assertStringContainsString('Related ' . $i, (string) $result, 'The referenced entities are present in the dumper output.'); } } }