コード例 #1
0
 public function test_user_permissions()
 {
     $mock_permissions = array('test system' => array('administrator'), 'view site' => array('anonymous', 'administrator', 'authenticated'), 'access strange feature' => array('authenticated'), 'browse around' => array('ALL'));
     $mock_authenticated = array('name' => 'authenticated');
     $user_authenticated = new User_entity($mock_authenticated);
     $user_authenticated->set_permissions_array($mock_permissions);
     $user_authenticated->set_logged();
     $this->assertTrue($user_authenticated->has_permission('view site'));
     $this->assertFalse($user_authenticated->has_permission('test system'));
     $mock_various = array('name' => 'Various', 'roles' => array('administrator'));
     $user_various = new User_entity($mock_various);
     $user_various->set_permissions_array($mock_permissions);
     $user_various->set_logged();
     $this->assertTrue($user_various->has_permission('view site'));
     $this->assertTrue($user_various->has_permission('browse around'));
     $mock_anonymous = array('name' => 'anonymous');
     $user_anonymous = new User_entity($mock_anonymous);
     $user_anonymous->set_permissions_array($mock_permissions);
     $user_anonymous->set_logged(FALSE);
     $expected = array('view site', 'browse around');
     $this->assertEquals($expected, $user_anonymous->all_permissions());
 }
コード例 #2
0
 /**
  * Creates User_entity injecting dependencies.
  * Input params must be the same as in the __construct
  * 
  * @access public
  * @static
  * 
  * @param array
  *   User data to construct the user.
  * 
  * @return User_entity
  */
 public static function build($user_data)
 {
     $user = new User_entity($user_data);
     $CI = get_instance();
     // Inject dependencies.
     $user->set_permissions_array($CI->config->item('permissions'))->set_roles_labels($CI->config->item('roles'));
     return $user;
 }