3 namespace Tests\Permissions\Scenarios;
5 class RoleContentPermissionsTest extends PermissionScenarioTestCase
7 public function test_01_allow()
9 [$user] = $this->users->newUserWithRole([], ['page-view-all']);
10 $page = $this->entities->page();
12 $this->assertVisibleToUser($page, $user);
15 public function test_02_deny()
17 [$user] = $this->users->newUserWithRole([], []);
18 $page = $this->entities->page();
20 $this->assertNotVisibleToUser($page, $user);
23 public function test_10_allow_on_own_with_own()
25 [$user] = $this->users->newUserWithRole([], ['page-view-own']);
26 $page = $this->entities->page();
27 $this->permissions->changeEntityOwner($page, $user);
29 $this->assertVisibleToUser($page, $user);
32 public function test_11_deny_on_other_with_own()
34 [$user] = $this->users->newUserWithRole([], ['page-view-own']);
35 $page = $this->entities->page();
36 $this->permissions->changeEntityOwner($page, $this->users->editor());
38 $this->assertNotVisibleToUser($page, $user);
41 public function test_20_multiple_role_conflicting_all()
43 [$user] = $this->users->newUserWithRole([], ['page-view-all']);
44 $this->users->attachNewRole($user, []);
45 $page = $this->entities->page();
47 $this->assertVisibleToUser($page, $user);
50 public function test_21_multiple_role_conflicting_own()
52 [$user] = $this->users->newUserWithRole([], ['page-view-own']);
53 $this->users->attachNewRole($user, []);
54 $page = $this->entities->page();
55 $this->permissions->changeEntityOwner($page, $user);
57 $this->assertVisibleToUser($page, $user);