function FilterEntityReferenceTest::testViewEntityReferenceAsAutocomplete

Tests that results are successfully filtered by the autocomplete widget.

File

core/modules/views/tests/src/Kernel/Handler/FilterEntityReferenceTest.php, line 195

Class

FilterEntityReferenceTest
Tests the core Drupal\views\Plugin\views\filter\EntityReference handler.

Namespace

Drupal\Tests\views\Kernel\Handler

Code

public function testViewEntityReferenceAsAutocomplete() : void {
  // Change the widget to autocomplete.
  $view = Views::getView('test_filter_entity_reference');
  $view->setDisplay();
  $filters = $view->displayHandlers
    ->get('default')
    ->getOption('filters');
  $filters['field_test_target_id']['widget'] = EntityReference::WIDGET_AUTOCOMPLETE;
  $view->displayHandlers
    ->get('default')
    ->overrideOption('filters', $filters);
  $view->setExposedInput([
    'field_test_target_id' => [
      [
        'target_id' => $this->targetNodes[0]
          ->id(),
      ],
      [
        'target_id' => $this->targetNodes[3]
          ->id(),
      ],
    ],
  ]);
  $this->executeView($view);
  // Expect to have Page 0 and 1, with Article 0 and 3 referenced.
  $expected = [
    [
      'title' => 'Page 0',
    ],
    [
      'title' => 'Page 1',
    ],
  ];
  $this->assertIdenticalResultset($view, $expected, [
    'title' => 'title',
  ]);
}

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