You are here

AccessTestBase.php in Drupal 10

File

core/modules/user/tests/src/Functional/Views/AccessTestBase.php
View source
<?php

namespace Drupal\Tests\user\Functional\Views;


/**
 * A common test base class for the user access plugin tests.
 */
abstract class AccessTestBase extends UserTestBase {

  /**
   * Modules to enable.
   *
   * @var array
   */
  protected static $modules = [
    'block',
  ];

  /**
   * Contains a user object that has no special permissions.
   *
   * @var \Drupal\user\UserInterface
   */
  protected $webUser;

  /**
   * Contains a user object that has the 'views_test_data test permission'.
   *
   * @var \Drupal\user\UserInterface
   */
  protected $normalUser;

  /**
   * Contains a role ID that is used by the webUser.
   *
   * @var string
   */
  protected $webRole;

  /**
   * Contains a role ID that is used by the normalUser.
   *
   * @var string
   */
  protected $normalRole;

  /**
   * {@inheritdoc}
   */
  protected function setUp($import_test_views = TRUE, $modules = []) : void {
    parent::setUp($import_test_views, $modules);
    $this
      ->drupalPlaceBlock('system_breadcrumb_block');
    $this
      ->enableViewsTestModule();
    $this->webUser = $this
      ->drupalCreateUser();
    $roles = $this->webUser
      ->getRoles();
    $this->webRole = $roles[0];
    $this->normalRole = $this
      ->drupalCreateRole([]);
    $this->normalUser = $this
      ->drupalCreateUser([
      'views_test_data test permission',
    ]);
    $this->normalUser
      ->addRole($this->normalRole);
    $this->normalUser
      ->save();

    // @todo when all the plugin information is cached make a reset function and
    // call it here.
  }

}

Classes

Namesort descending Description
AccessTestBase A common test base class for the user access plugin tests.