3 namespace Drupal\Tests\views\Kernel\Handler;
5 use Drupal\Tests\views\Kernel\ViewsKernelTestBase;
6 use Drupal\views\Views;
9 * Tests handler table and field aliases.
13 class HandlerAliasTest extends ViewsKernelTestBase {
15 public static $modules = ['user'];
18 * Views used by this test.
22 public static $testViews = ['test_filter', 'test_alias'];
24 protected function setUp($import_test_views = TRUE) {
27 $this->installEntitySchema('user');
33 protected function viewsData() {
34 $data = parent::viewsData();
35 // User the existing test_filter plugin.
36 $data['views_test_data_alias']['table']['real table'] = 'views_test_data';
37 $data['views_test_data_alias']['name_alias']['filter']['id'] = 'test_filter';
38 $data['views_test_data_alias']['name_alias']['filter']['real field'] = 'name';
43 public function testPluginAliases() {
44 $view = Views::getView('test_filter');
47 // Change the filtering.
48 $view->displayHandlers->get('default')->overrideOption('filters', [
50 'id' => 'test_filter',
51 'table' => 'views_test_data_alias',
52 'field' => 'name_alias',
59 $this->executeView($view);
61 $filter = $view->filter['test_filter'];
63 // Check the definition values are present.
64 $this->assertIdentical($filter->definition['real table'], 'views_test_data');
65 $this->assertIdentical($filter->definition['real field'], 'name');
67 $this->assertIdentical($filter->table, 'views_test_data');
68 $this->assertIdentical($filter->realField, 'name');
70 // Test an existing user uid field.
71 $view = Views::getView('test_alias');
73 $this->executeView($view);
75 $filter = $view->filter['uid_raw'];
77 $this->assertIdentical($filter->definition['real field'], 'uid');
79 $this->assertIdentical($filter->field, 'uid_raw');
80 $this->assertIdentical($filter->table, 'users_field_data');
81 $this->assertIdentical($filter->realField, 'uid');