ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilObjectDAVTest.php
Go to the documentation of this file.
1 <?php
2 use \PHPUnit\Framework\TestCase;
3 use \Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration;
5 
27 {
29  protected $ref_id;
30 
32  protected $mocked_obj;
33 
36 
39 
41  protected $dav_obj;
42 
43 
47  protected function setUp() : void
48  {
49  $this->ref_id = 100;
50  $this->mocked_obj = \Mockery::mock('ilObject');
51  $this->mocked_obj->shouldReceive(['getRefId' => $this->ref_id]);
52 
53  $this->mocked_dav_obj_helper = \Mockery::mock('ilWebDAVObjDAVHelper');
54 
55  $this->mocked_dav_repo_helper = \Mockery::mock('ilWebDAVRepositoryHelper');
56 
57  $this->dav_obj = $this->setUpObjectDAV($this->mocked_obj, $this->mocked_dav_repo_helper, $this->mocked_dav_obj_helper);
58 
59  parent::setUp();
60  }
61 
65  protected function setUpObjectDAV($mocked_obj, $mocked_repo_helper, $mockes_dav_helper)
66  {
67  return new class($mocked_obj, $mocked_repo_helper, $mockes_dav_helper) extends ilObjectDAV {
68  };
69  }
70 
76  {
77  // Arrange
78  $exception_thrown = false;
79  $title = 'Test';
80 
81  $this->mocked_dav_repo_helper->shouldReceive('checkAccess')->withArgs(['write', $this->ref_id])->andReturn(false);
82 
83  $this->mocked_obj->shouldNotReceive('setTitle');
84 
85 
86  // Act
87  try {
88  $this->dav_obj->setName($title);
89  } catch (Forbidden $e) {
90  $exception_thrown = $e->getMessage() == 'Permission denied';
91  }
92 
93  // Assert
94  $this->assertTrue($exception_thrown);
95  }
96 
102  {
103  // Arrange
104  $exception_thrown = false;
105  $title = 'Test';
106 
107  $this->mocked_dav_repo_helper->shouldReceive('checkAccess')->withAnyArgs()->andReturn(true);
108  $this->mocked_dav_obj_helper->shouldReceive('isDAVableObjTitle')->with($title)->andReturn(false);
109 
110  $this->mocked_obj = \Mockery::mock('ilObject');
111  $this->mocked_obj->shouldNotReceive('setTitle');
112 
113  // Act
114  try {
115  $this->dav_obj->setName($title);
116  } catch (Forbidden $e) {
117  $exception_thrown = $e->getMessage() == 'Forbidden characters in title';
118  }
119 
120  // Assert
121  $this->assertTrue($exception_thrown);
122  }
123 
133  {
134  // Arrange
135  $title = 'Test';
136 
137  $this->mocked_dav_repo_helper->shouldReceive('checkAccess')->withAnyArgs()->andReturn(true);
138  $this->mocked_dav_obj_helper->shouldReceive('isDAVableObjTitle')->with($title)->andReturn(true);
139 
140  $this->mocked_obj->shouldReceive('setTitle')->withArgs([$title]);
141  $this->mocked_obj->shouldReceive('update');
142 
143  // Act
144  $this->dav_obj->setName($title);
145 
146  // Assert
147  $this->assertTrue($this->mocked_obj->shouldHaveReceived('setTitle')->withArgs([$title])
148  && $this->mocked_obj->shouldHaveReceived('update'));
149  }
150 
156  {
157  // Arrange
158  $exception_thrown = false;
159 
160  $this->mocked_dav_repo_helper->shouldReceive('checkAccess')->withAnyArgs()->andReturn(false);
161 
162  // Act
163  try {
164  $this->dav_obj->delete();
165  } catch (Forbidden $e) {
166  $exception_thrown = $e->getMessage() == "Permission denied";
167  }
168 
169  // Assert
170  $this->assertTrue($exception_thrown);
171  }
172 }
TestCase for the ilObjectDAVTest.
setName_ForbiddenCharacters_ThrowForbidden()
setUpObjectDAV($mocked_obj, $mocked_repo_helper, $mockes_dav_helper)
Setup instance for ilObjectDAV.
Class ilObjectDAV.
setName_NoWriteAccess_ThrowForbidden()
setName_EverythingFine_SetTitleForObject()
Requirements:
delete_WithoutPermission_ThrowForbidden()