You are here

function AdminMenuPermissionsTest::testCategories in Administration menu 8.3

Tests handling of links pointing to category/overview pages.

File

lib/Drupal/admin_menu/Tests/AdminMenuPermissionsTest.php, line 66

Class

AdminMenuPermissionsTest
Tests menu links depending on user permissions.

Namespace

Drupal\admin_menu\Tests

Code

function testCategories() {

  // Create a user with minimum permissions.
  $admin_user = $this
    ->drupalCreateUser($this->basePermissions);
  $this
    ->drupalLogin($admin_user);

  // Verify that no category links appear.
  $this
    ->assertNoLinkTrailByTitle([
    t('Structure'),
  ]);
  $this
    ->assertNoLinkTrailByTitle([
    t('Configuration'),
  ]);

  // Create a user with access to one configuration category.
  $permissions = $this->basePermissions + [
    'administer users',
  ];
  $admin_user = $this
    ->drupalCreateUser($permissions);
  $this
    ->drupalLogin($admin_user);

  // Verify that only expected category links appear.
  $this
    ->assertNoLinkTrailByTitle([
    t('Structure'),
  ]);
  $this
    ->assertLinkTrailByTitle([
    t('People'),
  ]);
  $this
    ->assertLinkTrailByTitle([
    t('Configuration'),
  ]);
  $this
    ->assertLinkTrailByTitle([
    t('Configuration'),
    t('People'),
  ]);

  // Random picks are sufficient.
  $this
    ->assertNoLinkTrailByTitle([
    t('Configuration'),
    t('Media'),
  ]);
  $this
    ->assertNoLinkTrailByTitle([
    t('Configuration'),
    t('System'),
  ]);
}