class DiscardLayoutChangesFormTest

Tests the Layout Builder discard layout form.

Attributes

#[CoversClass(DiscardLayoutChangesForm::class)] #[Group('layout_builder')]

Hierarchy

Expanded class hierarchy of DiscardLayoutChangesFormTest

File

core/modules/layout_builder/tests/src/Unit/DiscardLayoutChangesFormTest.php, line 21

Namespace

Drupal\Tests\layout_builder\Unit
View source
class DiscardLayoutChangesFormTest extends UnitTestCase {
  
  /**
   * Tests ::getDescription() with entity, NULL, and ContextException cases.
   */
  public function testGetDescription() : void {
    $container = new ContainerBuilder();
    $container->set('string_translation', $this->getStringTranslationStub());
    \Drupal::setContainer($container);
    $form = new DiscardLayoutChangesForm($this->prophesize(LayoutTempstoreRepositoryInterface::class)
      ->reveal(), $this->prophesize(MessengerInterface::class)
      ->reveal());
    $reflection = new \ReflectionProperty(DiscardLayoutChangesForm::class, 'sectionStorage');
    $default = 'Any unsaved changes to the layout will be discarded. This action cannot be undone.';
    // Test entity label.
    $entity = $this->prophesize(EntityInterface::class);
    $entity->label()
      ->willReturn('My Node');
    $section_storage = $this->prophesize(SectionStorageInterface::class);
    $section_storage->getContextValue('entity')
      ->willReturn($entity->reveal());
    $reflection->setValue($form, $section_storage->reveal());
    $this->assertSame('Any unsaved changes to the layout for <em class="placeholder">My Node</em> will be discarded. This action cannot be undone.', (string) $form->getDescription());
    // Test NULL context.
    $section_storage = $this->prophesize(SectionStorageInterface::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(SectionStorageInterface::class);
    $section_storage->getContextValue('entity')
      ->willThrow(new ContextException());
    $reflection->setValue($form, $section_storage->reveal());
    $this->assertSame($default, (string) $form->getDescription());
  }

}

Members

Title Sort descending Deprecated Modifiers Object type Summary Overrides
DiscardLayoutChangesFormTest::testGetDescription public function Tests ::getDescription() with entity, NULL, and ContextException cases.
DrupalTestCaseTrait::$root protected property The Drupal root directory.
DrupalTestCaseTrait::checkErrorHandlerOnTearDown public function Checks the test error handler after test execution. 1
DrupalTestCaseTrait::checkLegacySymfonyDeprecationHelperEnvVariable public function Checks legacy SYMFONY_DEPRECATIONS_HELPER env variable is not used.
DrupalTestCaseTrait::expectExceptionMessageIs protected function Expects an exactly matching exception message.
DrupalTestCaseTrait::expectExceptionMessageIsOrContains protected function Expects an exception message containing a specified string.
DrupalTestCaseTrait::getDrupalRoot Deprecated protected static function Returns the Drupal root directory. 1
DrupalTestCaseTrait::setDebugDumpHandler public static function Registers the dumper CLI handler when the DebugDump extension is enabled.
DrupalTestCaseTrait::setUpRoot final protected function Ensure that the $root property is set initially.
DrupalTestCaseTrait::skipTestWithAttribute final protected function Supports skipping tests with the Skip attribute.
ExpectDeprecationTrait::expectDeprecation Deprecated public function Adds an expected deprecation.
ExpectDeprecationTrait::regularExpressionForFormatDescription private function
RandomGeneratorTrait::getRandomGenerator protected function Gets the random generator for the utility methods.
RandomGeneratorTrait::randomMachineName protected function Generates a unique random string containing letters and numbers.
RandomGeneratorTrait::randomObject public function Generates a random PHP object.
RandomGeneratorTrait::randomString public function Generates a pseudo-random string of ASCII characters of codes 32 to 126.
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::setUp protected function 377
UnitTestCase::setupMockIterator protected function Set up a traversable class mock to return specific items when iterated.

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