ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilObjChatroomAdminAccessTest.php
Go to the documentation of this file.
1 <?php
2 
8 {
9 
13  protected $adminAccess;
14 
18  protected $ilAccessMock;
19 
20  protected function setUp()
21  {
22  if (defined('ILIAS_PHPUNIT_CONTEXT')) {
23  include_once("./Services/PHPUnit/classes/class.ilUnitUtil.php");
24  ilUnitUtil::performInitialisation();
25  } else {
26  chdir(dirname(__FILE__));
27  chdir('../../../');
28  }
29 
30  require_once './Services/AccessControl/classes/class.ilAccessHandler.php';
31  $this->ilAccessMock = $this->createMock('ilAccessHandler');
32  global $ilAccess;
33  $ilAccess = $this->ilAccessMock;
34 
35  require_once './Modules/Chatroom/classes/class.ilObjChatroomAdminAccess.php';
36  $this->adminAccess = new ilObjChatroomAdminAccess();
37  }
38 
39  public function testInstanceOf()
40  {
41  $this->assertInstanceOf('ilObjectAccess', $this->adminAccess);
42  }
43 
44  public function test_getCommands()
45  {
46  $expected = array(
47  array("permission" => "read", "cmd" => "view", "lang_var" => "enter", "default" => true),
48  array("permission" => "write", "cmd" => "edit", "lang_var" => "edit"),
49  array("permission" => "write", "cmd" => "versions", "lang_var" => "versions"),
50  );
51 
52  $commands = $this->adminAccess->_getCommands();
53 
54  $this->assertInternalType("array", $commands);
55  $this->assertEquals($expected, $commands);
56  }
57 
58  public function test_checkGotoReturnFalse()
59  {
60  $this->ilAccessMock->expects($this->any())->method('checkAccess')->with($this->equalTo('visible'), $this->equalTo(''), $this->equalTo('1'))->will($this->returnValue(false));
61 
62  $this->assertFalse($this->adminAccess->_checkGoto(''));
63  $this->assertFalse($this->adminAccess->_checkGoto('chtr'));
64  $this->assertFalse($this->adminAccess->_checkGoto('chtr_'));
65  $this->assertFalse($this->adminAccess->_checkGoto('chtr_'));
66  $this->assertFalse($this->adminAccess->_checkGoto('chtr_test'));
67  $this->assertFalse($this->adminAccess->_checkGoto('chtr_1'));
68  }
69 
70  public function test_checkGotoReturnTrue()
71  {
72  $this->ilAccessMock->expects($this->once())->method('checkAccess')->with($this->equalTo('visible'), $this->equalTo(''), $this->equalTo('5'))->will($this->returnValue(true));
73  $this->assertTrue($this->adminAccess->_checkGoto('chtr_5'));
74  }
75 
77  {
78  $this->assertFalse($this->adminAccess->_checkGoto(array('chtr', '5')));
79  $this->assertFalse($this->adminAccess->_checkGoto(5));
80  }
81 }
Class ilObjChatroomAdminAccess Access class for chatroom objects.
Class ilObjChatroomAdminAccessTest.
once($eventName, callable $callBack, $priority=100)
Subscribe to an event exactly once.