You are here

public function EntityReferenceTest::testSettingsSummary in Reference Table Formatter 2.0.x

@covers ::settingsSummary

File

tests/src/Kernel/EntityReferenceTest.php, line 408

Class

EntityReferenceTest
@coversDefaultClass \Drupal\reference_table_formatter\Plugin\Field\FieldFormatter\EntityReferenceTableFormatter @group reference_table_formatter

Namespace

Drupal\Tests\reference_table_formatter\Kernel

Code

public function testSettingsSummary() {
  $formatter = new EntityReferenceTableFormatter('test', [], $this
    ->createMock(FieldDefinitionInterface::class), [], '', '_custom', [], $this->container
    ->get('reference_table_formatter.renderer'), $this->container
    ->get('entity_type.manager'), $this->container
    ->get('entity_display.repository'));
  $summary = $formatter
    ->settingsSummary();
  $this
    ->assertCount(1, $summary);
  $this
    ->assertEquals(t('Showing a table of rendered @mode entity fields', [
    '@mode' => 'Default',
  ]), $summary[0], 'Formatter settings summary with default values.');
  $formatter
    ->setSetting('view_mode', 'does_not_exist');
  $this
    ->assertEquals(t('Showing a table of rendered @mode entity fields', [
    '@mode' => 'does_not_exist',
  ]), $formatter
    ->settingsSummary()[0], 'View mode setting that does not exist is printed verbatim.');
  $empty = $this
    ->randomMachineName();
  $formatter
    ->setSettings([
    'view_mode' => 'default',
    'show_entity_label' => TRUE,
    'empty_cell_value' => $empty,
    'hide_header' => TRUE,
  ]);
  $summary = $formatter
    ->settingsSummary();
  $this
    ->assertCount(4, $summary);
  $this
    ->assertEquals(t('Entity label displayed'), $summary[1], 'Show entity label message.');
  $this
    ->assertEquals(t('Table header hidden'), $summary[2], 'Table header setting message.');
  $this
    ->assertEquals(t('Empty cell value: @value', [
    '@value' => $empty,
  ]), $summary[3], 'Empty cell value message.');
}