You are here

public function ArgumentDefaultTest::testArgumentDefaultNoOptions in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/views/tests/src/Functional/Plugin/ArgumentDefaultTest.php \Drupal\Tests\views\Functional\Plugin\ArgumentDefaultTest::testArgumentDefaultNoOptions()

Tests the use of a default argument plugin that provides no options.

File

core/modules/views/tests/src/Functional/Plugin/ArgumentDefaultTest.php, line 93

Class

ArgumentDefaultTest
Tests pluggable argument_default for views.

Namespace

Drupal\Tests\views\Functional\Plugin

Code

public function testArgumentDefaultNoOptions() {
  $admin_user = $this
    ->drupalCreateUser([
    'administer views',
    'administer site configuration',
  ]);
  $this
    ->drupalLogin($admin_user);

  // The current_user plugin has no options form, and should pass validation.
  $argument_type = 'current_user';
  $edit = [
    'options[default_argument_type]' => $argument_type,
  ];
  $this
    ->drupalPostForm('admin/structure/views/nojs/handler/test_argument_default_current_user/default/argument/uid', $edit, t('Apply'));

  // Note, the undefined index error has two spaces after it.
  $error = [
    '%type' => 'Notice',
    '@message' => 'Undefined index:  ' . $argument_type,
    '%function' => 'views_handler_argument->validateOptionsForm()',
  ];
  $message = t('%type: @message in %function', $error);
  $this
    ->assertNoRaw($message, new FormattableMarkup('Did not find error message: @message.', [
    '@message' => $message,
  ]));
}