19 declare(strict_types=1);
    36             [
'permission' => 
'read', 
'cmd' => 
'view', 
'lang_var' => 
'enter', 
'default' => 
true],
    37             [
'permission' => 
'write', 
'cmd' => 
'settings-general', 
'lang_var' => 
'settings'],
    40         $commands = $this->access::_getCommands();
    42         $this->assertIsArray($commands);
    43         $this->assertSame($expected, $commands);
    48         $user = $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->onlyMethods(
    51         $user->method(
'getId')->willReturn(6);
    53         $this->
setGlobalVariable(
'ilObjDataCache', $this->createMock(ilObjectDataCache::class));
    56         $chatroomSettings = $this->createMock(ilDBStatement::class);
    58             ->method(
'fetchAssoc')
    59             ->willReturnOnConsecutiveCalls(
    61                     'keyword' => 
'public_room_ref',
    68             ->method(
'fetchAssoc')
    69             ->willReturnCallback(
static function (
ilDBStatement $statement) {
    75             ->with($this->stringContains(
"FROM settings WHERE module='chatroom'", 
false))
    76             ->willReturn($chatroomSettings);
    79         $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->onlyMethods(
    80             [
'checkAccess', 
'checkAccessOfUser']
    82         $rbacsystem->method(
'checkAccess')->with(
    83             $this->logicalOr($this->equalTo(
'read'), $this->equalTo(
'visible')),
    86         $rbacsystem->method(
'checkAccessOfUser')->with(
    88             $this->logicalOr($this->equalTo(
'read'), $this->equalTo(
'visible')),
    94         $this->assertFalse($this->access::_checkGoto(
''));
    95         $this->assertFalse($this->access::_checkGoto(
'chtr'));
    96         $this->assertFalse($this->access::_checkGoto(
'chtr_'));
    97         $this->assertFalse($this->access::_checkGoto(
'chtr_'));
    98         $this->assertFalse($this->access::_checkGoto(
'chtr_test'));
    99         $this->assertFalse($this->access::_checkGoto(
'chtr_1'));
   104         $user = $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->onlyMethods(
   107         $user->method(
'getId')->willReturn(6);
   109         $this->
setGlobalVariable(
'ilObjDataCache', $this->createMock(ilObjectDataCache::class));
   112         $chatroomSettings = $this->createMock(ilDBStatement::class);
   114             ->method(
'fetchAssoc')
   115             ->willReturnOnConsecutiveCalls(
   117                     'keyword' => 
'public_room_ref',
   124             ->method(
'fetchAssoc')
   125             ->willReturnCallback(
static function (
ilDBStatement $statement) {
   131             ->with($this->stringContains(
"FROM settings WHERE module='chatroom'", 
false))
   132             ->willReturn($chatroomSettings);
   135         $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->onlyMethods(
   136             [
'checkAccess', 
'checkAccessOfUser']
   138         $rbacsystem->method(
'checkAccess')->with(
   139             $this->logicalOr($this->equalTo(
'read'), $this->equalTo(
'visible'), $this->equalTo(
'write')),
   142         $rbacsystem->method(
'checkAccessOfUser')->with(
   144             $this->logicalOr($this->equalTo(
'read'), $this->equalTo(
'visible'), $this->equalTo(
'write')),
   150         $this->assertTrue($this->access::_checkGoto(
'chtr_5'));
   159         $user = $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->onlyMethods(
   162         $user->expects($this->once())->method(
'getId')->willReturn($userId);
   166         $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->onlyMethods(
   167             [
'checkAccessOfUser']
   169         $rbacsystem->expects($this->once())->method(
'checkAccessOfUser')->with(
   170             $this->equalTo($userId),
   171             $this->equalTo(
'write'),
   173         )->willReturn(
false);
   186         $user = $this->getMockBuilder(ilObjUser::class)->disableOriginalConstructor()->onlyMethods(
   189         $user->expects($this->once())->method(
'getId')->willReturn($userId);
   193         $this->db->method(
'fetchAssoc')->willReturnOnConsecutiveCalls(
   194             [
'keyword' => 
'chat_enabled', 
'value' => 
'0'],
   198         $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->onlyMethods(
   199             [
'checkAccessOfUser']
   201         $rbacsystem->expects($this->once())->method(
'checkAccessOfUser')->with(
   202             $this->equalTo($userId),
   203             $this->equalTo(
'write'),
   217         $cache = $settingsReflection->getProperty(
'settings_cache');
   218         $cache->setAccessible(
true);
   219         $cache->setValue($settingsReflection, []);
 
testCommandDefitionFullfilsExpectations()
 
Class ilChatroomAbstractTest. 
 
testAccessChecksSucceed()
 
ilObjChatroomAccess $access
 
Access class for chatroom objects. 
 
Class ilObjChatroomAccessTest. 
 
setGlobalVariable(string $name, $value)