コード例 #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());
 }