UrlIntegrationTest.php in Zircon Profile 8
File
core/modules/system/src/Tests/Routing/UrlIntegrationTest.php
View source
<?php
namespace Drupal\system\Tests\Routing;
use Drupal\Core\Url;
use Drupal\simpletest\KernelTestBase;
use Drupal\user\Entity\Role;
use Drupal\user\Entity\User;
class UrlIntegrationTest extends KernelTestBase {
public static $modules = array(
'user',
'router_test',
'system',
);
protected function setUp() {
parent::setUp();
$this
->installSchema('system', [
'router',
]);
}
public function testAccess() {
\Drupal::service('router.builder')
->rebuild();
$role_with_access = Role::create([
'id' => 'role_with_access',
]);
$role_with_access
->grantPermission('administer users');
$role_with_access
->save();
$role_without_access = Role::create([
'id' => 'role_without_access',
]);
$role_without_access
->save();
$user_with_access = User::create([
'roles' => [
'role_with_access',
],
]);
$user_without_access = User::create([
'roles' => [
'role_without_access',
],
]);
$url_always_access = new Url('router_test.1');
$this
->assertTrue($url_always_access
->access($user_with_access));
$this
->assertTrue($url_always_access
->access($user_without_access));
$url_none_access = new Url('router_test.15');
$this
->assertFalse($url_none_access
->access($user_with_access));
$this
->assertFalse($url_none_access
->access($user_without_access));
$url_access = new Url('router_test.16');
$this
->assertTrue($url_access
->access($user_with_access));
$this
->assertFalse($url_access
->access($user_without_access));
}
}