You are here

public function InitialStateTest::testAdminAccess in Style Switcher 3.0.x

Same name and namespace in other branches
  1. 8.2 tests/src/Functional/InitialStateTest.php \Drupal\Tests\styleswitcher\Functional\InitialStateTest::testAdminAccess()

Tests access to admin routes.

File

tests/src/Functional/InitialStateTest.php, line 49

Class

InitialStateTest
Tests the module in its initial state.

Namespace

Drupal\Tests\styleswitcher\Functional

Code

public function testAdminAccess() {
  $assert = $this
    ->assertSession();
  $paths = [
    'admin/config/user-interface/styleswitcher',
    "admin/config/user-interface/styleswitcher/settings/{$this->defaultTheme}",
    'admin/config/user-interface/styleswitcher/add',
    'admin/config/user-interface/styleswitcher/custom/default',
    'admin/config/user-interface/styleswitcher/custom/default/delete',
  ];

  /** @var string[]|null $permissions */

  /** @var int $code */
  foreach ($this
    ->providerAdminAccess() as [
    $permissions,
    $code,
  ]) {
    if (isset($permissions)) {
      $user = $this
        ->drupalCreateUser($permissions);
      $this
        ->drupalLogin($user);
    }
    foreach ($paths as $path) {
      $this
        ->drupalGet($path);
      $assert
        ->statusCodeEquals($code);
    }
    if (isset($permissions)) {
      $this
        ->drupalLogout();
    }
  }
}