ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ilObjChatroomAdminAccessTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
24 {
26  protected ilRbacSystem&MockObject $ilAccessMock;
27 
29  {
30  $expected = [
31  ['permission' => 'read', 'cmd' => 'view', 'lang_var' => 'enter', 'default' => true],
32  ['permission' => 'write', 'cmd' => 'edit', 'lang_var' => 'edit'],
33  ['permission' => 'write', 'cmd' => 'versions', 'lang_var' => 'versions'],
34  ];
35 
36  $commands = $this->adminAccess::_getCommands();
37 
38  $this->assertIsArray($commands);
39  $this->assertSame($expected, $commands);
40  }
41 
42  public function testGotoCheckFails(): void
43  {
44  $this->ilAccessMock
45  ->method('checkAccess')
46  ->with(
47  $this->equalTo('visible'),
48  $this->equalTo('1')
49  )->willReturn(false);
50 
51  $this->assertFalse($this->adminAccess::_checkGoto(''));
52  $this->assertFalse($this->adminAccess::_checkGoto('chtr'));
53  $this->assertFalse($this->adminAccess::_checkGoto('chtr_'));
54  $this->assertFalse($this->adminAccess::_checkGoto('chtr_'));
55  $this->assertFalse($this->adminAccess::_checkGoto('chtr_test'));
56  $this->assertFalse($this->adminAccess::_checkGoto('chtr_1'));
57  }
58 
59  public function testGotoCheckSucceeds(): void
60  {
61  $this->ilAccessMock->expects($this->once())
62  ->method('checkAccess')
63  ->with(
64  $this->equalTo('visible'),
65  $this->equalTo('5')
66  )->willReturn(true);
67 
68  $this->assertTrue($this->adminAccess::_checkGoto('chtr_5'));
69  }
70 
71  protected function setUp(): void
72  {
73  parent::setUp();
74 
75  $this->ilAccessMock = $this->getMockBuilder(ilRbacSystem::class)
76  ->disableOriginalConstructor()
77  ->onlyMethods(['checkAccess'])
78  ->getMock();
79  $this->setGlobalVariable('rbacsystem', $this->ilAccessMock);
80 
81  $this->adminAccess = new ilObjChatroomAdminAccess();
82  }
83 }
Class ilObjChatroomAdminAccess Access class for chatroom objects.