function SettingsTrayBlockFormTest::testEditModeEnableDisable

Same name and namespace in other branches
  1. 9 core/modules/settings_tray/tests/src/FunctionalJavascript/SettingsTrayBlockFormTest.php \Drupal\Tests\settings_tray\FunctionalJavascript\SettingsTrayBlockFormTest::testEditModeEnableDisable()
  2. 8.9.x core/modules/settings_tray/tests/src/FunctionalJavascript/SettingsTrayBlockFormTest.php \Drupal\Tests\settings_tray\FunctionalJavascript\SettingsTrayBlockFormTest::testEditModeEnableDisable()
  3. 11.x core/modules/settings_tray/tests/src/FunctionalJavascript/SettingsTrayBlockFormTest.php \Drupal\Tests\settings_tray\FunctionalJavascript\SettingsTrayBlockFormTest::testEditModeEnableDisable()

Tests enabling and disabling Edit Mode.

File

core/modules/settings_tray/tests/src/FunctionalJavascript/SettingsTrayBlockFormTest.php, line 234

Class

SettingsTrayBlockFormTest
Testing opening and saving block forms in the off-canvas dialog.

Namespace

Drupal\Tests\settings_tray\FunctionalJavascript

Code

public function testEditModeEnableDisable() : void {
  $this->markTestSkipped("Skipped due to frequent random test failures. See https://www.drupal.org/project/drupal/issues/3317520");
  foreach (static::getTestThemes() as $theme) {
    $this->enableTheme($theme);
    $block = $this->placeBlock('system_powered_by_block');
    foreach ([
      'contextual_link',
      'toolbar_link',
    ] as $enable_option) {
      $this->drupalGet('user');
      $this->assertEditModeDisabled();
      switch ($enable_option) {
        // Enable Edit mode.
        case 'contextual_link':
          $this->clickContextualLink($this->getBlockSelector($block), "Quick edit");
          $this->waitForOffCanvasToOpen();
          $this->assertEditModeEnabled();
          break;

        case 'toolbar_link':
          $this->enableEditMode();
          break;

      }
      $this->disableEditMode();
      // Make another page request to ensure Edit mode is still disabled.
      $this->drupalGet('user');
      $this->assertEditModeDisabled();
      // Make sure on this page request it also re-enables and disables
      // correctly.
      $this->enableEditMode();
      $this->disableEditMode();
    }
  }
}

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