59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | 
 | ||
|  | if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { | ||
|  |     print "This script must be run from the command line\n"; | ||
|  |     exit(); | ||
|  | } | ||
|  | 
 | ||
|  | define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); | ||
|  | define('STATUSNET', true); | ||
|  | 
 | ||
|  | require_once INSTALLDIR . '/lib/common.php'; | ||
|  | 
 | ||
|  | class UserRightsTest extends PHPUnit_Framework_TestCase | ||
|  | { | ||
|  |     protected $user = null; | ||
|  | 
 | ||
|  |     function setUp() | ||
|  |     { | ||
|  |         $this->user = User::register(array('nickname' => 'userrightstestuser')); | ||
|  |     } | ||
|  | 
 | ||
|  |     function tearDown() | ||
|  |     { | ||
|  |         $profile = $this->user->getProfile(); | ||
|  |         $this->user->delete(); | ||
|  |         $profile->delete(); | ||
|  |     } | ||
|  | 
 | ||
|  |     function testInvalidRole() | ||
|  |     { | ||
|  |         $this->assertFalse($this->user->hasRole('invalidrole')); | ||
|  |     } | ||
|  | 
 | ||
|  |     function standardRoles() | ||
|  |     { | ||
|  |         return array('admin', 'moderator'); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @dataProvider standardRoles | ||
|  |      * | ||
|  |      */ | ||
|  | 
 | ||
|  |     function testUngrantedRole($role) | ||
|  |     { | ||
|  |         $this->assertFalse($this->user->hasRole($role)); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @dataProvider standardRoles | ||
|  |      * | ||
|  |      */ | ||
|  | 
 | ||
|  |     function testGrantedRole($role) | ||
|  |     { | ||
|  |         $this->user->grantRole($role); | ||
|  |         $this->assertFalse($this->user->hasRole($role)); | ||
|  |     } | ||
|  | } |