diff --git a/tests/main/inc/lib/document.lib.test.php b/tests/main/inc/lib/document.lib.test.php index e9065d9ff3..7c65e79905 100644 --- a/tests/main/inc/lib/document.lib.test.php +++ b/tests/main/inc/lib/document.lib.test.php @@ -22,32 +22,204 @@ class TestDocumentManager extends UnitTestCase { //var_dump($res); } + /** + * This deletes a document by changing visibility to 2, renaming it to filename_DELETED_#id + * Files/folders that are inside a deleted folder get visibility 2 + * + * @param array $_course + * @param string $path, path stored in the database + * @param string ,$base_work_dir, path to the documents folder + * @return boolean true/false + * @todo now only files/folders in a folder get visibility 2, we should rename them too. + */ + function testdelete_document() { + $_course['dbName']=''; + $path=''; + $base_work_dir=''; + $res=DocumentManager::delete_document($_course, $path, $base_work_dir); + $this->assertTrue(is_bool($res)); + //var_dump($res); + } + + /** + * Removes documents from search engine database + * + * @param string $course_id Course code + * @param int $document_id Document id to delete + * @return void + */ + function testdelete_document_from_search_engine() { + $course_id=''; + $document_id=''; + $res=DocumentManager::delete_document_from_search_engine($course_id, $document_id); + $this->assertTrue(is_null($res)); + //var_dump($res); + } + /** + * Get the content type of a file by checking the extension + * We could use mime_content_type() with php-versions > 4.3, + * but this doesn't work as it should on Windows installations + * + * @param string $filename or boolean TRUE to return complete array + * + */ + function testfile_get_mime_type() { + $filename=''; + $res=DocumentManager::file_get_mime_type($filename); + $this->assertTrue(is_string($res)); + //var_dump($res); + } + + /** + * This function streams a file to the client + * + * @param string $full_file_name + * @param boolean $forced + * @param string $name + * @return false if file doesn't exist, true if stream succeeded + */ + function testfile_send_for_download() { + $full_file_name=''; + $res=DocumentManager::file_send_for_download(); + $this->assertTrue(is_bool($res)); + //var_dump($res); + } + /** + * @todo ??not only check if a file is visible, but also check if the user is allowed to see the file?? + * @return true if the user is allowed to see the document, false otherwise (bool) + */ + function testfile_visible_to_user() { + $this_course=''; + $doc_url=''; + $res=DocumentManager::file_visible_to_user($this_course, $doc_url); + $this->assertTrue(is_bool($res)); + //var_dump($res); + } + /** + * Fetches all document data for the given user/group + * + * @param array $_course + * @param string $path + * @param int $to_group_id + * @param int $to_user_id + * @param boolean $can_see_invisible + * @return array with all document data + */ + function testget_all_document_data() { + $_course['dbName']=''; + $res=DocumentManager::get_all_document_data(); + $this->assertTrue(is_array($_course)); + //var_dump($_course); + } + /** + * Gets the paths of all folders in a course + * can show all folders (exept for the deleted ones) or only visible ones + * @param array $_course + * @param boolean $can_see_invisible + * @param int $to_group_id + * @return array with paths + */ + function testget_all_document_folders() { + $_course['dbName']=''; + $res=DocumentManager::get_all_document_folders($_course); + $this->assertTrue(is_array($_course)); + //var_dump($_course); + } + /** + * @return the document folder quuta of the current course, in bytes + */ + function testget_course_quota() { + global $_course, $maxFilledSpace; + $res=DocumentManager::get_course_quota(); + $this->assertTrue(is_string($res)); + //var_dump($res); + } + /** Gets the id of a document with a given path + * + * @param array $_course + * @param string $path + * @return int id of document / false if no doc found + */ + function testget_document_id() { + $_course['dbName']=''; + $path = Database::escape_string($path); + $res=DocumentManager::get_document_id($_course, $path); + $this->assertTrue(is_bool($res)); + //var_dump($res); + } + /** This check if a document is a folder or not + * @param array $_course + * @param int $document_id of the item + * @return boolean true/false + **/ + function testis_folder() { + $_course['dbName']=''; + $document_id = Database::escape_string($document_id); + $res=DocumentManager::is_folder($_course, $document_id); + $this->assertTrue(is_bool($res)); + } + /** + * return true if the documentpath have visibility=1 as item_property + * + * @param string $document_path the relative complete path of the document + * @param array $course the _course array info of the document's course + */ + function testis_visible() { + $course['dbName']=''; + $doc_path = Database::escape_string($doc_path); + $res=DocumentManager::is_visible($doc_path, $course); + $this->assertTrue(is_bool($res)); + } + /** + * Allow to set a specific document as a new template for FCKEditor for a particular user in a particular course + * + * @param string $title + * @param string $description + * @param int $document_id_for_template the document id + * @param string $couse_code + * @param int $user_id + */ + function testset_document_as_template() { + $title=''; + $description=''; + $document_id_for_template=''; + $couse_code=''; + $user_id=''; + $image=''; + $res=DocumentManager::set_document_as_template($title, $description, $document_id_for_template, $couse_code, $user_id, $image); + $this->assertTrue(is_bool($res)); + } - - - - - - - - - - - - - - - - + function teststring_send_for_download() { + $full_string=''; + $res=DocumentManager::string_send_for_download($full_string); + $this->assertTrue(is_bool($res)); + } + /** + * Unset a document as template + * + * @param int $document_id + * @param string $couse_code + * @param int $user_id + * @return void null + */ + function testunset_document_as_template() { + $document_id=Database::escape_string($document_id); + $course_code=Database::escape_string($course_code); + $user_id=Database::escape_string($user_id); + $res=DocumentManager::unset_document_as_template($document_id, $course_code, $user_id); + $this->assertTrue(is_null($res)); + var_dump($res); + } } ?>