function RevertOverridesFormTest::testGetDescription

Same name and namespace in other branches
  1. 11.x core/modules/layout_builder/tests/src/Unit/RevertOverridesFormTest.php \Drupal\Tests\layout_builder\Unit\RevertOverridesFormTest::testGetDescription()

Tests ::getDescription() with entity, NULL, and ContextException cases.

File

core/modules/layout_builder/tests/src/Unit/RevertOverridesFormTest.php, line 28

Class

RevertOverridesFormTest
Tests the Layout Builder revert overrides form.

Namespace

Drupal\Tests\layout_builder\Unit

Code

public function testGetDescription() : void {
  $container = new ContainerBuilder();
  $container->set('string_translation', $this->getStringTranslationStub());
  \Drupal::setContainer($container);
  $form = new RevertOverridesForm($this->prophesize(LayoutTempstoreRepositoryInterface::class)
    ->reveal(), $this->prophesize(MessengerInterface::class)
    ->reveal());
  $reflection = new \ReflectionProperty(RevertOverridesForm::class, 'sectionStorage');
  $default = 'The layout will be reverted to its default state. All layout modifications and inline blocks will be reset.';
  // Test entity label.
  $entity = $this->prophesize(EntityInterface::class);
  $entity->label()
    ->willReturn('My Node');
  $section_storage = $this->prophesize(OverridesSectionStorageInterface::class);
  $section_storage->getContextValue('entity')
    ->willReturn($entity->reveal());
  $reflection->setValue($form, $section_storage->reveal());
  $this->assertSame('The layout for <em class="placeholder">My Node</em> will be reverted to its default state. All layout modifications and inline blocks will be reset.', (string) $form->getDescription());
  // Test NULL context.
  $section_storage = $this->prophesize(OverridesSectionStorageInterface::class);
  $section_storage->getContextValue('entity')
    ->willReturn(NULL);
  $reflection->setValue($form, $section_storage->reveal());
  $this->assertSame($default, (string) $form->getDescription());
  // Test exception.
  $section_storage = $this->prophesize(OverridesSectionStorageInterface::class);
  $section_storage->getContextValue('entity')
    ->willThrow(new ContextException());
  $reflection->setValue($form, $section_storage->reveal());
  $this->assertSame($default, (string) $form->getDescription());
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.