|
@@ -1,15 +1,6 @@
|
|
|
<?php
|
|
|
-
|
|
|
-require_once(api_get_path(LIBRARY_PATH).'sessionmanager.lib.php');
|
|
|
-require_once(api_get_path(LIBRARY_PATH).'course.lib.php');
|
|
|
-
|
|
|
-Mock::generate('Database');
|
|
|
-Mock::generate('Display');
|
|
|
-Mock::generate('DocumentManager');
|
|
|
-
|
|
|
class TestStatistics extends UnitTestCase{
|
|
|
|
|
|
- public $statisc;
|
|
|
public function TestStatistics(){
|
|
|
$this->UnitTestCase('this File test the provides some function for statistics ');
|
|
|
}
|
|
@@ -29,141 +20,57 @@ class TestStatistics extends UnitTestCase{
|
|
|
//var_dump($res);
|
|
|
}
|
|
|
|
|
|
- public function testCountCourse(){
|
|
|
- $instans = new MockDatabase();
|
|
|
-
|
|
|
- $course_code = 'ABC';
|
|
|
- $course_code2 = 'ABCD';
|
|
|
- $category_code = NULL;
|
|
|
- $session_id = SessionManager::create_session($course_code,2009,07,20,2010,07,20,0,0,1,'coach');
|
|
|
- $res = Statistics::count_courses($category_code);
|
|
|
- $this->assertTrue(is_numeric($res));
|
|
|
- $this->assertTrue(count($res) !== 0);
|
|
|
- //var_dump($res);
|
|
|
- }
|
|
|
-
|
|
|
- public function testCountCourse2(){
|
|
|
- $instans = new MockDatabase();
|
|
|
- $user_id=1;
|
|
|
- $course_code = 'ABC';
|
|
|
- $course_code2 = 'ABCD';
|
|
|
- $category_code = NULL;
|
|
|
- $session_id = SessionManager::create_session($course_code,2009,07,20,2010,07,20,0,0,1,'coach');
|
|
|
- SessionManager::add_courses_to_session($session_id,array($course_code));
|
|
|
- SessionManager::suscribe_users_to_session($session_id,array($user_id));
|
|
|
- $res = Statistics::count_courses($category_code);
|
|
|
- $this->assertTrue(count($res ==0));
|
|
|
+ /**
|
|
|
+ * Count courses
|
|
|
+ * @param string $category_code Code of a course category. Default: count
|
|
|
+ * all courses.
|
|
|
+ * @return int Number of courses counted
|
|
|
+ */
|
|
|
+ public function testCountCourses(){
|
|
|
+ $res = Statistics::count_courses();
|
|
|
$this->assertTrue(is_numeric($res));
|
|
|
- CourseManager::delete_course($course_code);
|
|
|
//var_dump($res);
|
|
|
}
|
|
|
|
|
|
- public function testCountCourse3(){
|
|
|
- $user_id=1;
|
|
|
- $course_code = 'ABC';
|
|
|
- $course_code2 = 'ABCD';
|
|
|
- $category_code = NULL;
|
|
|
- $session_id = SessionManager::create_session($course_code,2009,07,20,2010,07,20,0,0,1,'coach');
|
|
|
- SessionManager::suscribe_users_to_session($session_id,array($user_id+3));
|
|
|
- $res = Statistics::count_courses($category_code);
|
|
|
- $this->assertTrue(is_numeric($res));
|
|
|
- $this->assertTrue(count($res)!==0);
|
|
|
- //var_dump($res);
|
|
|
- }
|
|
|
-
|
|
|
- public function testCountCourse4(){
|
|
|
- $user_id=1;
|
|
|
- $course_code = 'ABC';
|
|
|
- $course_code2 = 'ABCD';
|
|
|
- $category_code = NULL;
|
|
|
- //ob_start();
|
|
|
- $session_id = SessionManager::create_session($course_code,2009,07,20,2010,07,20,0,0,1,'coach');
|
|
|
- SessionManager::suscribe_users_to_session($session_id,array($user_id+3));
|
|
|
- SessionManager::add_courses_to_session($session_id,array());
|
|
|
- $res = Statistics::count_courses($category_code);
|
|
|
- $this->assertTrue(is_numeric($res));
|
|
|
- $this->assertTrue(count($res)!==0);
|
|
|
- SessionManager::delete_session($session_id);
|
|
|
- CourseManager::delete_course($course_code2);
|
|
|
- CourseManager::delete_course($course_code);
|
|
|
- //ob_end_clean();
|
|
|
- //var_dump($res);
|
|
|
- }
|
|
|
-
|
|
|
public function testCountUsers(){
|
|
|
- $user_id =001;
|
|
|
+ $user_id ='1';
|
|
|
$category_code = NULL;
|
|
|
$course_code='ABC';
|
|
|
- $firstName='adam'; $lastName='ivan'; $status='01'; $email='ricardo.rodriguez@dokeos.com'; $loginName='adam'; $password='1234';
|
|
|
+ $firstName='Jhon'; $lastName='Doe'; $status='1'; $email='localhost@localhost.com'; $loginName='admin'; $password='admin';
|
|
|
$count_invisible_courses = true;
|
|
|
- $session_id = SessionManager::create_session($course_code,2009,07,20,2010,07,20,0,0,1,'coach');
|
|
|
- SessionManager::suscribe_users_to_session($session_id,array($user_id+3));
|
|
|
$res = Statistics::count_users($status, $category_code, $count_invisible_courses);
|
|
|
$this->assertTrue(is_numeric($res));
|
|
|
$this->assertTrue(count($res)===0 || count($res)!==0);
|
|
|
- SessionManager::delete_session($session_id);
|
|
|
- //var_dump($res);
|
|
|
}
|
|
|
|
|
|
public function testGetNumberOfActivities(){
|
|
|
- $activitis = new MockDatabase();
|
|
|
- $sql = "SELECT count(default_id) AS total_number_of_items FROM $track_e_default ";
|
|
|
- $res = Database::query($sql, __FILE__, __LINE__);
|
|
|
- $obj = Database::fetch_object($res);
|
|
|
$resu = Statistics::get_number_of_activities();
|
|
|
$this->assertTrue(is_numeric($resu));
|
|
|
$this->assertTrue(count($resu)==0 || count($resu)!==0);
|
|
|
//var_dump($resu);
|
|
|
- //var_dump($res);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Get activities data to display
|
|
|
+ */
|
|
|
public function testGetActivitiesData(){
|
|
|
- $instans = new MockDatabase();
|
|
|
global $dateTimeFormatLong;
|
|
|
- $from='';
|
|
|
- $number_of_items=10;
|
|
|
- $column='';
|
|
|
- $direction='';
|
|
|
- $track_e_default = Database :: get_statistic_table(TABLE_STATISTIC_TRACK_E_DEFAULT);
|
|
|
- $table_user = Database::get_main_table(TABLE_MAIN_USER);
|
|
|
- $sql = "SELECT
|
|
|
- default_event_type as col0,
|
|
|
- default_value_type as col1,
|
|
|
- default_value as col2,
|
|
|
- user.username as col3,
|
|
|
- default_date as col4
|
|
|
- FROM $track_e_default track_default, $table_user user
|
|
|
- WHERE track_default.default_user_id = user.user_id ";
|
|
|
- $res = Database::query($sql, __FILE__, __LINE__);
|
|
|
- $row = Database::fetch_row($res);
|
|
|
-
|
|
|
- if (Database::num_rows($res) > 0) {
|
|
|
- $this->assertTrue(is_array($row));
|
|
|
- } else {
|
|
|
- $this->assertFalse($row);
|
|
|
- }
|
|
|
+ $from = 0;
|
|
|
+ $number_of_items = 30;
|
|
|
+ $column = '';
|
|
|
+ $direction = 'ASC';
|
|
|
$resu = Statistics::get_activities_data($from, $number_of_items, $column, $direction);
|
|
|
$this->assertTrue(is_array($resu));
|
|
|
- //var_dump($resu);
|
|
|
- //var_dump($row);
|
|
|
- //var_dump($res);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Get all course categories
|
|
|
+ * @return array All course categories (code => name)
|
|
|
+ */
|
|
|
public function testGetCourseCategories(){
|
|
|
- $user_id =002;
|
|
|
- $category_code = NULL;
|
|
|
- $course_code='ABCDE';
|
|
|
- $real_course_code='00001';
|
|
|
- $course_title='test1';
|
|
|
- $wanted_course_code='test2';
|
|
|
- $course_language='es';
|
|
|
- $course_category='primary';
|
|
|
- $code='00001';
|
|
|
- $session_id = SessionManager::create_session($course_code,2009,07,20,2010,07,20,0,0,1,'coach');
|
|
|
- CourseManager::create_virtual_course ($real_course_code, $course_title, $wanted_course_code, $course_language, $course_category);
|
|
|
$res = Statistics::get_course_categories();
|
|
|
$this->assertTrue($res);
|
|
|
- CourseManager::delete_course($code);
|
|
|
//var_dump($res);
|
|
|
}
|
|
|
|
|
@@ -190,99 +97,41 @@ class TestStatistics extends UnitTestCase{
|
|
|
|
|
|
public function testPrintLoginStats(){
|
|
|
ob_start();
|
|
|
- $instans = new MockDatabase();
|
|
|
- $type='january';
|
|
|
- $table = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_LOGIN);
|
|
|
- if($type === 'month'){
|
|
|
- $sql = "SELECT DATE_FORMAT( login_date, '%Y %b' ) AS stat_date , count( login_id ) AS number_of_logins FROM ".$table." GROUP BY stat_date ORDER BY login_date ";
|
|
|
- }if($type === 'hour'){
|
|
|
- $sql = "SELECT DATE_FORMAT( login_date, '%H' ) AS stat_date , count( login_id ) AS number_of_logins FROM ".$table." GROUP BY stat_date ORDER BY stat_date ";
|
|
|
- }else{
|
|
|
- $sql = "SELECT DATE_FORMAT( login_date, '%a' ) AS stat_date , count( login_id ) AS number_of_logins FROM ".$table." GROUP BY stat_date ORDER BY DATE_FORMAT( login_date, '%w' ) ";
|
|
|
- }
|
|
|
- $res = Database::query($sql,__FILE__,__LINE__);
|
|
|
- $obj = Database::fetch_object($res);
|
|
|
- $result[$obj->stat_date] = $obj->number_of_logins;
|
|
|
- $login_stats[] = $result;
|
|
|
+ $type='month';
|
|
|
$resu = Statistics::print_login_stats($type);
|
|
|
ob_end_clean();
|
|
|
- $instans->expectOnce($login_stats);
|
|
|
$this->assertTrue(is_null($resu));
|
|
|
- $this->assertTrue($result);
|
|
|
//var_dump($resu);
|
|
|
- //var_dump($result);
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
public function testPrintRecenLoginStats(){
|
|
|
ob_start();
|
|
|
- $instans = new MockDatabase();
|
|
|
- $total_logins = array();
|
|
|
- $table = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_LOGIN);
|
|
|
- $query[get_lang('Total')] = "SELECT count(login_user_id) AS number FROM $table";
|
|
|
- $res = Database::query($query,__FILE__,__LINE__);
|
|
|
- $obj = Database::fetch_object($res);
|
|
|
- $total_logins[] = $obj->number;
|
|
|
$res = Statistics::print_recent_login_stats();
|
|
|
ob_end_clean();
|
|
|
- $instans->expectCallCount($total_logins);
|
|
|
$this->assertTrue(is_null($res));
|
|
|
- $this->assertTrue(count($total_logins));
|
|
|
//var_dump($res);
|
|
|
- //var_dump($total_logins);
|
|
|
}
|
|
|
|
|
|
public function testPrintToolStats(){
|
|
|
ob_start();
|
|
|
- $instans = new MockDatabase();
|
|
|
- $table = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ACCESS);
|
|
|
- $tools = array('announcement','assignment','calendar_event','chat','conference','course_description','document','dropbox','group','learnpath','link','quiz','student_publication','user','bb_forum');
|
|
|
- $sql = "SELECT access_tool, count( access_id ) AS number_of_logins FROM $table WHERE access_tool IN ('".implode("','",$tools)."') GROUP BY access_tool ";
|
|
|
- $res = Database::query($sql,__FILE__,__LINE__);
|
|
|
- $result = array();
|
|
|
- $obj = Database::fetch_object($res);
|
|
|
- $result[$obj->access_tool] = $obj->number_of_logins;
|
|
|
$resu = Statistics::print_tool_stats();
|
|
|
ob_end_clean();
|
|
|
- $instans->expectCallCount($result);
|
|
|
$this->assertTrue(is_null($resu));
|
|
|
- //var_dump($resu);
|
|
|
- //var_dump($result);
|
|
|
}
|
|
|
|
|
|
public function testPrintCourseByLanguageStats(){
|
|
|
ob_start();
|
|
|
- $instans = new MockDatabase();
|
|
|
- $table = Database::get_main_table(TABLE_MAIN_COURSE);
|
|
|
- $sql = "SELECT course_language, count( code ) AS number_of_courses FROM $table GROUP BY course_language ";
|
|
|
- $res = Database::query($sql,__FILE__,__LINE__);
|
|
|
- $result = array();
|
|
|
- $obj = Database::fetch_object($res);
|
|
|
- $result[$obj->course_language] = $obj->number_of_courses;
|
|
|
- $instans->expectOnce($result);
|
|
|
$resu = Statistics::print_course_by_language_stats();
|
|
|
ob_end_clean();
|
|
|
$this->assertTrue(is_null($resu));
|
|
|
- $this->assertTrue(is_array($result));
|
|
|
//var_dump($resu);
|
|
|
- //var_dump($result);
|
|
|
}
|
|
|
|
|
|
public function testPrintUserPicturesStats(){
|
|
|
ob_start();
|
|
|
- $instans = new MockDatabase();
|
|
|
- $user_table = Database :: get_main_table(TABLE_MAIN_USER);
|
|
|
- $sql = "SELECT COUNT(*) AS n FROM $user_table";
|
|
|
- $res = Database::query($sql,__FILE__,__LINE__);
|
|
|
- $count1 = Database::fetch_object($res);
|
|
|
- $instans_print[]= $count1;
|
|
|
- $instans->expectOnce($instans_print);
|
|
|
- $instans->expectCallCount($instans_print);
|
|
|
- $resu = Statistics::print_user_pictures_stats();
|
|
|
+ $resu = Statistics::print_user_pictures_stats();
|
|
|
ob_end_clean();
|
|
|
$this->assertTrue(is_null($resu));
|
|
|
- $this->assertTrue($instans_print);
|
|
|
- //var_dump($resu);
|
|
|
- //var_dump($instans_print);
|
|
|
}
|
|
|
|
|
|
public function testPrintActivitiesStats(){
|
|
@@ -295,27 +144,12 @@ class TestStatistics extends UnitTestCase{
|
|
|
|
|
|
public function testPrintCourseLastVisit(){
|
|
|
ob_start();
|
|
|
- $instans = new MockDatabase();
|
|
|
- $instans1 = new MockDisplay();
|
|
|
- $table_header[] = array ("Coursecode", true);
|
|
|
- $course = array ();
|
|
|
- $courses[] = $course;
|
|
|
$column='';
|
|
|
$direction='';
|
|
|
$parameters['action'] = 'courselastvisit';
|
|
|
- $instans->expectCallCount('Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_LASTACCESS)');
|
|
|
- $instans1->expectOnce(Display :: display_sortable_table($table_header, $courses, array('column'=>$column,'direction'=>$direction), array (), $parameters));
|
|
|
- $res = Statistics::print_course_last_visit();
|
|
|
+ $res = Statistics::print_course_last_visit();
|
|
|
ob_end_clean();
|
|
|
$this->assertTrue(is_null($res));
|
|
|
- //var_dump($res);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
?>
|