function LayoutBuilderUiTest::testNewExtraField

Same name and namespace in other branches
  1. 9 core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderUiTest.php \Drupal\Tests\layout_builder\FunctionalJavascript\LayoutBuilderUiTest::testNewExtraField()
  2. 11.x core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderUiTest.php \Drupal\Tests\layout_builder\FunctionalJavascript\LayoutBuilderUiTest::testNewExtraField()

Tests removing newly added extra field.

File

core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderUiTest.php, line 260

Class

LayoutBuilderUiTest
Tests the Layout Builder UI.

Namespace

Drupal\Tests\layout_builder\FunctionalJavascript

Code

public function testNewExtraField() : void {
  $assert_session = $this->assertSession();
  $page = $this->getSession()
    ->getPage();
  // At this point layout builder has been enabled for the test content type.
  // Install a test module that creates a new extra field then clear cache.
  \Drupal::service('module_installer')->install([
    'layout_builder_extra_field_test',
  ]);
  \Drupal::service('entity_field.manager')->clearCachedFieldDefinitions();
  // View the layout and try to remove the new extra field.
  $this->drupalGet(static::FIELD_UI_PREFIX . '/display/default/layout');
  $assert_session->pageTextContains('New Extra Field');
  $this->clickContextualLink('.block-extra-field-blocknodebundle-with-section-fieldlayout-builder-extra-field-test', 'Remove block');
  $this->assertNotEmpty($assert_session->waitForElementVisible('css', '#drupal-off-canvas'));
  $assert_session->assertWaitOnAjaxRequest();
  $assert_session->pageTextContains('Are you sure you want to remove');
  $page->pressButton('Remove');
  $assert_session->assertWaitOnAjaxRequest();
  $assert_session->pageTextNotContains('New Extra Field');
}

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