1<?php
2
3namespace Drupal\Tests\user\Kernel\Views;
4
5use Drupal\KernelTests\KernelTestBase;
6
7/**
8 * Contains tests related to the views data for the user entity type.
9 *
10 * @group user
11 *
12 * @see \Drupal\user\UserViewsData
13 */
14class UserViewsDataTest extends KernelTestBase {
15
16  /**
17   * The views data service.
18   *
19   * @var \Drupal\views\ViewsData
20   */
21  protected $viewsData;
22
23  /**
24   * The entity field manager.
25   *
26   * @var \Drupal\Core\Entity\EntityFieldManagerInterface
27   */
28  protected $entityFieldManager;
29
30  /**
31   * {@inheritdoc}
32   */
33  protected static $modules = [
34    'system',
35    'user',
36    'views',
37  ];
38
39  /**
40   * {@inheritdoc}
41   */
42  protected function setUp(): void {
43    parent::setUp();
44    $this->viewsData = $this->container->get('views.views_data');
45    $this->entityFieldManager = $this->container->get('entity_field.manager');
46  }
47
48  /**
49   * Tests if user views data object doesn't contain pass field.
50   */
51  public function testUserPasswordFieldNotAvailableToViews() {
52    $field_definitions = $this->entityFieldManager->getBaseFieldDefinitions('user');
53    $this->assertArrayHasKey('pass', $field_definitions);
54    $this->assertArrayNotHasKey('pass', $this->viewsData->get('users_field_data'));
55  }
56
57}
58