60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
|  | <?php | ||
|  | 
 | ||
|  | namespace Tests\Permissions\Scenarios; | ||
|  | 
 | ||
|  | class RoleContentPermissionsTest extends PermissionScenarioTestCase | ||
|  | { | ||
|  |     public function test_01_allow() | ||
|  |     { | ||
|  |         [$user] = $this->users->newUserWithRole([], ['page-view-all']); | ||
|  |         $page = $this->entities->page(); | ||
|  | 
 | ||
|  |         $this->assertVisibleToUser($page, $user); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function test_02_deny() | ||
|  |     { | ||
|  |         [$user] = $this->users->newUserWithRole([], []); | ||
|  |         $page = $this->entities->page(); | ||
|  | 
 | ||
|  |         $this->assertNotVisibleToUser($page, $user); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function test_10_allow_on_own_with_own() | ||
|  |     { | ||
|  |         [$user] = $this->users->newUserWithRole([], ['page-view-own']); | ||
|  |         $page = $this->entities->page(); | ||
|  |         $this->permissions->changeEntityOwner($page, $user); | ||
|  | 
 | ||
|  |         $this->assertVisibleToUser($page, $user); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function test_11_deny_on_other_with_own() | ||
|  |     { | ||
|  |         [$user] = $this->users->newUserWithRole([], ['page-view-own']); | ||
|  |         $page = $this->entities->page(); | ||
|  |         $this->permissions->changeEntityOwner($page, $this->users->editor()); | ||
|  | 
 | ||
|  |         $this->assertNotVisibleToUser($page, $user); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function test_20_multiple_role_conflicting_all() | ||
|  |     { | ||
|  |         [$user] = $this->users->newUserWithRole([], ['page-view-all']); | ||
|  |         $this->users->attachNewRole($user, []); | ||
|  |         $page = $this->entities->page(); | ||
|  | 
 | ||
|  |         $this->assertVisibleToUser($page, $user); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function test_21_multiple_role_conflicting_own() | ||
|  |     { | ||
|  |         [$user] = $this->users->newUserWithRole([], ['page-view-own']); | ||
|  |         $this->users->attachNewRole($user, []); | ||
|  |         $page = $this->entities->page(); | ||
|  |         $this->permissions->changeEntityOwner($page, $user); | ||
|  | 
 | ||
|  |         $this->assertVisibleToUser($page, $user); | ||
|  |     } | ||
|  | } |