32 require_once(
'./Services/WebDAV/classes/dav/class.ilObjContainerDAV.php');
33 require_once(
'./Services/WebDAV/classes/class.ilWebDAVRepositoryHelper.php');
34 require_once(
'./Services/WebDAV/classes/class.ilWebDAVObjDAVHelper.php');
35 require_once(
'./Services/WebDAV/test/dav/ilObjDummyDAV.php');
38 $this->mocked_obj = \Mockery::mock(
'ilContainer');
39 $this->mocked_obj->shouldReceive([
'getRefId' => $this->ref_id]);
41 $this->mocked_repo_helper = \Mockery::mock(
'ilWebDAVRepositoryHelper');
43 $this->mocked_dav_helper = \Mockery::mock(
'ilWebDAVObjDAVHelper');
45 $this->container_dav = $this->
setUpContainerDAV($this->mocked_obj, $this->mocked_repo_helper, $this->mocked_dav_helper);
57 public function getChildCollectionType()
71 $number_of_children = 5;
72 $number_of_davable_children = $number_of_children;
74 $children_ref_ids = array();
75 for (
$i = 101;
$i < $number_of_children + 101;
$i++) {
76 $children_ref_ids[] =
$i;
79 $this->mocked_repo_helper->shouldReceive(
'getChildrenOfRefId')->andReturn($children_ref_ids);
80 $this->mocked_dav_helper->shouldReceive(
'isDAVableObject')->andReturn(
true);
81 $this->mocked_repo_helper->shouldReceive(
'checkAccess')->andReturn(
true);
82 $this->mocked_dav_helper->shouldReceive(
'createDAVObjectForRefId')->andReturn(
new ilObjDummyDAV());
85 $dav_children = $this->container_dav->getChildren();
88 $this->assertTrue(count($dav_children) == $number_of_children);
102 $number_of_children = 5;
103 $number_of_davable_children = 0;
105 $children_ref_ids = array();
106 for (
$i = 101;
$i < $number_of_children + 101;
$i++) {
107 $children_ref_ids[] =
$i;
110 $this->mocked_repo_helper->shouldReceive(
'getChildrenOfRefId')->andReturn($children_ref_ids);
111 $this->mocked_dav_helper->shouldReceive(
'isDAVableObject')->andReturn(
false);
114 $dav_children = $this->container_dav->getChildren();
117 $this->assertTrue(count($dav_children) == $number_of_davable_children);
127 $number_of_children = 5;
128 $number_of_davable_children = 0;
130 $children_ref_ids = array();
131 for (
$i = 101;
$i < $number_of_children + 101;
$i++) {
132 $children_ref_ids[] =
$i;
135 $this->mocked_repo_helper->shouldReceive(
'getChildrenOfRefId')->andReturn($children_ref_ids);
136 $this->mocked_dav_helper->shouldReceive(
'isDAVableObject')->andReturn(
true);
137 $this->mocked_repo_helper->shouldReceive(
'checkAccess')->andReturn(
false);
140 $dav_children = $this->container_dav->getChildren();
143 $this->assertTrue(count($dav_children) == $number_of_davable_children);
153 $number_of_children = 5;
154 $number_of_davable_children = 1;
156 $children_ref_ids = array();
157 for (
$i = 101;
$i < $number_of_children + 101;
$i++) {
158 $children_ref_ids[] =
$i;
161 $this->mocked_repo_helper->shouldReceive(
'getChildrenOfRefId')->andReturn($children_ref_ids);
162 $this->mocked_dav_helper->shouldReceive(
'isDAVableObject')->andReturn(
true,
true,
true,
false,
false);
163 $this->mocked_repo_helper->shouldReceive(
'checkAccess')->andReturn(
false,
true,
false);
164 $this->mocked_dav_helper->shouldReceive(
'createDAVObjectForRefId')->andReturn(
new ilObjDummyDAV());
167 $dav_children = $this->container_dav->getChildren();
170 $this->assertTrue(count($dav_children) == $number_of_davable_children
171 && $this->mocked_dav_helper->shouldHaveReceived(
'isDAVableObject')->times(5)
172 && $this->mocked_repo_helper->shouldHaveReceived(
'checkAccess')->times(3));
182 $number_of_children = 5;
184 $children_ref_ids = array();
185 for (
$i = 101;
$i < $number_of_children + 101;
$i++) {
186 $children_ref_ids[] =
$i;
189 $this->mocked_repo_helper->shouldReceive(
'getChildrenOfRefId')->andReturn($children_ref_ids);
190 $this->mocked_dav_helper->shouldReceive(
'isDAVableObject')->andReturn(
false);
193 $child_exists = $this->container_dav->childExists(
'dummy');
196 $this->assertTrue(!$child_exists);
206 $number_of_children = 5;
207 $searched_title =
'dummy';
209 $children_ref_ids = array();
210 for (
$i = 101;
$i < $number_of_children + 101;
$i++) {
211 $children_ref_ids[] =
$i;
214 $this->mocked_repo_helper->shouldReceive(
'getChildrenOfRefId')->andReturn($children_ref_ids);
215 $this->mocked_dav_helper->shouldReceive(
'isDAVableObject')->andReturn(
true);
216 $this->mocked_repo_helper->shouldReceive(
'getObjectTitleFromRefId')->andReturn(
'1',
'2', $searched_title,
'4',
'5');
217 $this->mocked_repo_helper->shouldReceive(
'checkAccess')->andReturn(
false);
220 $child_exists = $this->container_dav->childExists($searched_title);
223 $this->assertTrue(!$child_exists
224 && $this->mocked_repo_helper->shouldHaveReceived(
'checkAccess')->once());
234 $number_of_children = 5;
235 $searched_title =
'dummy';
237 $children_ref_ids = array();
238 for (
$i = 101;
$i < $number_of_children + 101;
$i++) {
239 $children_ref_ids[] =
$i;
242 $this->mocked_repo_helper->shouldReceive(
'getChildrenOfRefId')->andReturn($children_ref_ids);
243 $this->mocked_dav_helper->shouldReceive(
'isDAVableObject')->andReturn(
true);
244 $this->mocked_repo_helper->shouldReceive(
'getObjectTitleFromRefId')->andReturn(
'1',
'2', $searched_title,
'4',
'5');
245 $this->mocked_repo_helper->shouldReceive(
'checkAccess')->andReturn(
true);
248 $child_exists = $this->container_dav->childExists($searched_title);
251 $this->assertTrue($child_exists
252 && $this->mocked_repo_helper->shouldHaveReceived(
'checkAccess')->once());
262 $number_of_children = 5;
263 $searched_title =
'dummy';
266 $children_ref_ids = array();
267 for (
$i = 101;
$i < $number_of_children + 101;
$i++) {
268 $children_ref_ids[] =
$i;
271 $this->mocked_repo_helper->shouldReceive(
'getChildrenOfRefId')->andReturn($children_ref_ids);
272 $this->mocked_dav_helper->shouldReceive(
'isDAVableObject')->andReturn(
true);
273 $this->mocked_repo_helper->shouldReceive(
'getObjectTitleFromRefId')->andReturn(
'1',
'2', $searched_title,
'4',
'5');
274 $this->mocked_repo_helper->shouldReceive(
'checkAccess')->andReturn(
true);
275 $this->mocked_dav_helper->shouldReceive(
'createDAVObjectForRefId')->andReturn($dummy_obj_dav);
278 $returned_child = $this->container_dav->getChild($searched_title);
281 $this->assertTrue($returned_child === $dummy_obj_dav && $this->mocked_repo_helper->shouldHaveReceived(
'checkAccess')->once());
291 $number_of_children = 5;
292 $searched_title =
'dummy';
293 $exception_thrown =
false;
295 $children_ref_ids = array();
296 for (
$i = 101;
$i < $number_of_children + 101;
$i++) {
297 $children_ref_ids[] =
$i;
300 $this->mocked_repo_helper->shouldReceive(
'getChildrenOfRefId')->andReturn($children_ref_ids);
301 $this->mocked_dav_helper->shouldReceive(
'isDAVableObject')->andReturn(
false);
305 $this->container_dav->getChild($searched_title);
307 $exception_thrown =
true;
311 $this->assertTrue($exception_thrown);
321 $number_of_children = 5;
322 $searched_title =
'dummy';
325 $children_ref_ids = array();
326 for (
$i = 101;
$i < $number_of_children + 101;
$i++) {
327 $children_ref_ids[] =
$i;
330 $this->mocked_repo_helper->shouldReceive(
'getChildrenOfRefId')->andReturn($children_ref_ids);
331 $this->mocked_dav_helper->shouldReceive(
'isDAVableObject')->andReturn(
true);
332 $this->mocked_repo_helper->shouldReceive(
'getObjectTitleFromRefId')->andReturn(
'1',
'2',
'3',
'4',
'5');
336 $this->container_dav->getChild($searched_title);
338 $exception_thrown =
true;
342 $this->assertTrue($exception_thrown);
352 $file_title =
'some_file.txt';
354 $this->mocked_repo_helper->shouldReceive(
'checkCreateAccessForType')->andReturn(
false);
358 $this->container_dav->createFile($file_title);
360 if ($e->getMessage() ==
'No write access') {
361 $exception_thrown =
true;
366 $this->assertTrue($exception_thrown);
376 $file_title =
'some_file.exe';
378 $this->mocked_repo_helper->shouldReceive(
'checkCreateAccessForType')->andReturn(
true);
379 $this->mocked_dav_helper->shouldReceive(
'isValidFileNameWithValidFileExtension')->andReturn(
false);
383 $this->container_dav->createFile($file_title);
385 if ($e->getMessage() ==
'Invalid file extension') {
386 $exception_thrown =
true;
391 $this->assertTrue($exception_thrown);
ChildExists_ChildExistsButIsNotDAVable_returnFalse()
GetChildren_NoReadAccessToObjects_ReturnEmptyArray()
GetChild_ChildExistsAndIsDavable_ReturnChild()
ChildExists_ChildExists_returnTrue()
GetChild_ChildExistsButIsNotDavable_ThrowNotFound()
GetChildren_NoDavableObjects_ReturnEmptyArray()
Important parameters: isDAVableObject = true checkAccess = false -> we test the behavior for no acces...
GetChildren_OnlyDavableObjects_ReturnAllChildren()
GetChildren_MixedWithNonDavableObjects_ReturnOnlyDavableObjects()
CreateFile_InvalidFileExtension_ThrowForbidden()
CreateFile_NoCreateAccess_ThrowForbidden()
This is just a dummy class for unit testing.
GetChild_ChildDoesNotExist_ThrowNotFound()
setUpContainerDAV($mocked_obj, $mocked_repo_helper, $mocked_dav_helper)
Setup instance for ilObjectDAV.
ChildExists_ChildExistsButUserHasNoReadAccess_returnFalse()