You are here

public function SectionRenderTest::testToRenderArray in Drupal 10

Same name and namespace in other branches
  1. 8 core/modules/layout_builder/tests/src/Unit/SectionRenderTest.php \Drupal\Tests\layout_builder\Unit\SectionRenderTest::testToRenderArray()
  2. 9 core/modules/layout_builder/tests/src/Unit/SectionRenderTest.php \Drupal\Tests\layout_builder\Unit\SectionRenderTest::testToRenderArray()

@covers ::toRenderArray

File

core/modules/layout_builder/tests/src/Unit/SectionRenderTest.php, line 102

Class

SectionRenderTest
@coversDefaultClass \Drupal\layout_builder\Section @group layout_builder

Namespace

Drupal\Tests\layout_builder\Unit

Code

public function testToRenderArray() {
  $block_content = [
    '#markup' => 'The block content.',
  ];
  $placeholder_label = 'Placeholder Label';
  $render_array = [
    '#theme' => 'block',
    '#weight' => 0,
    '#configuration' => [],
    '#plugin_id' => 'block_plugin_id',
    '#base_plugin_id' => 'block_plugin_id',
    '#derivative_plugin_id' => NULL,
    'content' => $block_content,
    '#cache' => [
      'contexts' => [],
      'tags' => [],
      'max-age' => -1,
    ],
  ];
  $block = $this
    ->prophesize(BlockPluginInterface::class)
    ->willImplement(PreviewFallbackInterface::class);
  $this->blockManager
    ->createInstance('block_plugin_id', [
    'id' => 'block_plugin_id',
  ])
    ->willReturn($block
    ->reveal());
  $access_result = AccessResult::allowed();
  $block
    ->access($this->account
    ->reveal(), TRUE)
    ->willReturn($access_result);
  $block
    ->build()
    ->willReturn($block_content);
  $block
    ->getCacheContexts()
    ->willReturn([]);
  $block
    ->getCacheTags()
    ->willReturn([]);
  $block
    ->getCacheMaxAge()
    ->willReturn(Cache::PERMANENT);
  $block
    ->getPluginId()
    ->willReturn('block_plugin_id');
  $block
    ->getBaseId()
    ->willReturn('block_plugin_id');
  $block
    ->getDerivativeId()
    ->willReturn(NULL);
  $block
    ->getConfiguration()
    ->willReturn([]);
  $block
    ->getPreviewFallbackString()
    ->willReturn($placeholder_label);
  $section = [
    new SectionComponent('some_uuid', 'content', [
      'id' => 'block_plugin_id',
    ]),
  ];
  $expected = [
    'content' => [
      'some_uuid' => $render_array,
    ],
  ];
  $result = (new Section('layout_onecol', [], $section))
    ->toRenderArray();
  $this
    ->assertEquals($expected, $result);
}