You are here

public function MediaEmbedFilterConfigurationUiTest::testValidationWhenEditing in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/media/tests/src/FunctionalJavascript/MediaEmbedFilterConfigurationUiTest.php \Drupal\Tests\media\FunctionalJavascript\MediaEmbedFilterConfigurationUiTest::testValidationWhenEditing()

@covers ::media_form_filter_format_edit_form_alter @covers ::media_filter_format_edit_form_validate @dataProvider providerTestValidations

File

core/modules/media/tests/src/FunctionalJavascript/MediaEmbedFilterConfigurationUiTest.php, line 99

Class

MediaEmbedFilterConfigurationUiTest
@covers ::media_filter_format_edit_form_validate @group media

Namespace

Drupal\Tests\media\FunctionalJavascript

Code

public function testValidationWhenEditing($filter_html_status, $filter_align_status, $filter_caption_status, $filter_html_image_secure_status, $media_embed, $allowed_html, $expected_error_message) {
  $this
    ->drupalGet('admin/config/content/formats/manage/media_embed_test');

  // Enable the `filter_html` and `media_embed` filters.
  $page = $this
    ->getSession()
    ->getPage();
  if ($filter_html_status) {
    $page
      ->checkField('filters[filter_html][status]');
  }
  if ($filter_align_status) {
    $page
      ->checkField('filters[filter_align][status]');
  }
  if ($filter_caption_status) {
    $page
      ->checkField('filters[filter_caption][status]');
  }
  if ($filter_html_image_secure_status) {
    $page
      ->checkField('filters[filter_html_image_secure][status]');
  }
  if ($media_embed === TRUE || is_numeric($media_embed)) {
    $page
      ->checkField('filters[media_embed][status]');

    // Set a non-default weight.
    if (is_numeric($media_embed)) {
      $this
        ->click('.tabledrag-toggle-weight');
      $page
        ->selectFieldOption('filters[media_embed][weight]', $media_embed);
    }
  }
  if (!empty($allowed_html)) {
    $page
      ->clickLink('Limit allowed HTML tags and correct faulty HTML');
    $page
      ->fillField('filters[filter_html][settings][allowed_html]', $allowed_html);
  }
  $page
    ->pressButton('Save configuration');
  if ($expected_error_message) {
    $this
      ->assertSession()
      ->pageTextNotContains('The text format Test format has been updated.');
    $this
      ->assertSession()
      ->pageTextContains($expected_error_message);
  }
  else {
    $this
      ->assertSession()
      ->pageTextContains('The text format Test format has been updated.');
  }
}