You are here

protected function EntityReferenceFormatterTest::buildRenderArray in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceFormatterTest.php \Drupal\Tests\field\Kernel\EntityReference\EntityReferenceFormatterTest::buildRenderArray()

Sets field values and returns a render array as built by \Drupal\Core\Field\FieldItemListInterface::view().

Parameters

\Drupal\Core\Entity\EntityInterface[] $referenced_entities: An array of entity objects that will be referenced.

string $formatter: The formatted plugin that will be used for building the render array.

array $formatter_options: Settings specific to the formatter. Defaults to the formatter's default settings.

Return value

array A render array.

4 calls to EntityReferenceFormatterTest::buildRenderArray()
EntityReferenceFormatterTest::testCustomCacheTagFormatter in core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceFormatterTest.php
Tests the merging of cache metadata.
EntityReferenceFormatterTest::testEntityFormatter in core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceFormatterTest.php
Tests the entity formatter.
EntityReferenceFormatterTest::testIdFormatter in core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceFormatterTest.php
Tests the ID formatter.
EntityReferenceFormatterTest::testLabelFormatter in core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceFormatterTest.php
Tests the label formatter.

File

core/modules/field/tests/src/Kernel/EntityReference/EntityReferenceFormatterTest.php, line 426

Class

EntityReferenceFormatterTest
Tests the formatters functionality.

Namespace

Drupal\Tests\field\Kernel\EntityReference

Code

protected function buildRenderArray(array $referenced_entities, $formatter, $formatter_options = []) {

  // Create the entity that will have the entity reference field.
  $referencing_entity = $this->container
    ->get('entity_type.manager')
    ->getStorage($this->entityType)
    ->create([
    'name' => $this
      ->randomMachineName(),
  ]);
  $items = $referencing_entity
    ->get($this->fieldName);

  // Assign the referenced entities.
  foreach ($referenced_entities as $referenced_entity) {
    $items[] = [
      'entity' => $referenced_entity,
    ];
  }

  // Build the renderable array for the field.
  return $items
    ->view([
    'type' => $formatter,
    'settings' => $formatter_options,
  ]);
}