You are here

public function BlockUiTest::testBlockValidateErrors in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/block/tests/src/Functional/BlockUiTest.php \Drupal\Tests\block\Functional\BlockUiTest::testBlockValidateErrors()
  2. 10 core/modules/block/tests/src/Functional/BlockUiTest.php \Drupal\Tests\block\Functional\BlockUiTest::testBlockValidateErrors()

Tests if validation errors are passed plugin form to the parent form.

File

core/modules/block/tests/src/Functional/BlockUiTest.php, line 358

Class

BlockUiTest
Tests that the block configuration UI exists and stores data correctly.

Namespace

Drupal\Tests\block\Functional

Code

public function testBlockValidateErrors() {
  $this
    ->drupalPostForm('admin/structure/block/add/test_settings_validation/classy', [
    'region' => 'content',
    'settings[digits]' => 'abc',
  ], t('Save block'));
  $arguments = [
    ':message' => 'Only digits are allowed',
  ];
  $pattern = '//div[contains(@class,"messages messages--error")]/div[contains(text()[2],:message)]';
  $elements = $this
    ->xpath($pattern, $arguments);
  $this
    ->assertNotEmpty($elements, 'Plugin error message found in parent form.');
  $error_class_pattern = '//div[contains(@class,"form-item-settings-digits")]/input[contains(@class,"error")]';
  $error_class = $this
    ->xpath($error_class_pattern);
  $this
    ->assertNotEmpty($error_class, 'Plugin error class found in parent form.');
}