Browse Source

Created new test functions and fixed some bug in the tests CT#191

Ricardo Rodriguez 15 years ago
parent
commit
998278728b

+ 5 - 98
main/admin/add_courses_to_session.php

@@ -14,11 +14,14 @@ $language_file='admin';
 $cidReset=true;
 
 // including some necessary dokeos files
-require '../inc/global.inc.php';
+require_once('../inc/global.inc.php');
 
 // including additonal libraries
-require_once '../inc/lib/xajax/xajax.inc.php';
+
 require_once api_get_path(LIBRARY_PATH).'sessionmanager.lib.php';
+require_once (api_get_path(LIBRARY_PATH).'add_courses_to_session_functions.lib.php');
+
+
 $xajax = new xajax();
 //$xajax->debugOn();
 $xajax -> registerFunction ('search_courses');
@@ -57,102 +60,6 @@ if (!api_is_platform_admin()) {
 	}
 }
 
-function search_courses($needle,$type)
-{
-	global $tbl_course, $tbl_session_rel_course, $id_session;
-
-	$xajax_response = new XajaxResponse();
-	$return = '';
-	if(!empty($needle) && !empty($type)) {
-		// xajax send utf8 datas... datas in db can be non-utf8 datas
-		$charset = api_get_setting('platform_charset');
-		$needle = api_convert_encoding($needle, $charset, 'utf-8');
-
-		$cond_course_code = '';
-		if (!empty($id_session)) {
-		$id_session = Database::escape_string($id_session);
-			// check course_code from session_rel_course table
-			$sql = 'SELECT course_code FROM '.$tbl_session_rel_course.' WHERE id_session ="'.(int)$id_session.'"';
-			$res = Database::query($sql,__FILE__,__LINE__);
-			$course_codes = '';
-			if (Database::num_rows($res) > 0) {
-				while ($row = Database::fetch_row($res)) {
-					$course_codes .= '\''.$row[0].'\',';
-				}
-				$course_codes = substr($course_codes,0,(strlen($course_codes)-1));
-
-				$cond_course_code = ' AND course.code NOT IN('.$course_codes.') ';
-			}
-		}
-
-		if ($type=='single') {
-		// search users where username or firstname or lastname begins likes $needle
-		$sql = 'SELECT course.code, course.visual_code, course.title, session_rel_course.id_session
-				FROM '.$tbl_course.' course
-				LEFT JOIN '.$tbl_session_rel_course.' session_rel_course
-					ON course.code = session_rel_course.course_code
-					AND session_rel_course.id_session = '.intval($id_session).'
-				WHERE course.visual_code LIKE "'.$needle.'%"
-				OR course.title LIKE "'.$needle.'%"';
-		} else {
-
-		$sql = 'SELECT course.code, course.visual_code, course.title
-				FROM '.$tbl_course.' course
-				WHERE course.visual_code LIKE "'.$needle.'%" '.$cond_course_code.' ORDER BY course.code ';
-		}
-
-		global $_configuration;
-		if ($_configuration['multiple_access_urls']==true) {
-			$tbl_course_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
-			$access_url_id = api_get_current_access_url_id();
-			if ($access_url_id != -1){
-
-				if ($type=='single') {
-					$sql = 'SELECT course.code, course.visual_code, course.title, session_rel_course.id_session
-							FROM '.$tbl_course.' course
-							LEFT JOIN '.$tbl_session_rel_course.' session_rel_course
-								ON course.code = session_rel_course.course_code
-								AND session_rel_course.id_session = '.intval($id_session).'
-							INNER JOIN '.$tbl_course_rel_access_url.' url_course ON (url_course.course_code=course.code)
-							WHERE access_url_id = '.$access_url_id.' AND (course.visual_code LIKE "'.$needle.'%"
-							OR course.title LIKE "'.$needle.'%" )';
-				} else {
-					$sql = 'SELECT course.code, course.visual_code, course.title
-							FROM '.$tbl_course.' course, '.$tbl_course_rel_access_url.' url_course
-							WHERE url_course.course_code=course.code AND access_url_id = '.$access_url_id.'
-							AND course.visual_code LIKE "'.$needle.'%" '.$cond_course_code.' ORDER BY course.code ';
-				}
-			}
-		}
-
-		$rs = Database::query($sql, __FILE__, __LINE__);
-		$course_list = array();
-		if ($type=='single') {
-
-			while($course = Database :: fetch_array($rs)) {
-				$course_list[] = $course['code'];
-				$course_title=str_replace("'","\'",$course_title);
-				$return .= '<a href="javascript: void(0);" onclick="javascript: add_course_to_session(\''.$course['code'].'\',\''.$course_title.' ('.$course['visual_code'].')'.'\')">'.$course['title'].' ('.$course['visual_code'].')</a><br />';
-			}
-
-			$xajax_response -> addAssign('ajax_list_courses_single','innerHTML',api_utf8_encode($return));
-
-		} else {
-
-			$return .= '<select id="origin" name="NoSessionCoursesList[]" multiple="multiple" size="20" style="width:340px;">';
-			while($course = Database :: fetch_array($rs)) {
-				$course_list[] = $course['code'];
-				$course_title=str_replace("'","\'",$course_title);
-				$return .= '<option value="'.$course['code'].'" title="'.htmlspecialchars($course['title'].' ('.$course['visual_code'].')',ENT_QUOTES).'">'.$course['title'].' ('.$course['visual_code'].')</option>';
-			}
-			$return .= '</select>';
-
-			$xajax_response -> addAssign('ajax_list_courses_multiple','innerHTML',api_utf8_encode($return));
-		}
-	}
-	$_SESSION['course_list'] = $course_list;
-	return $xajax_response;
-}
 $xajax -> processRequests();
 
 $htmlHeadXtra[] = $xajax->getJavascript('../inc/lib/xajax/');

+ 2 - 28
main/admin/add_many_session_to_category.php

@@ -11,12 +11,12 @@
 $language_file='admin';
 // resetting the course id
 $cidReset=true;
+require_once('../inc/global.inc.php');
 
 // including some necessary dokeos files
-require '../inc/global.inc.php';
 
 // including additonal libraries
-require_once '../inc/lib/xajax/xajax.inc.php';
+require_once api_get_path(LIBRARY_PATH).'add_many_session_to_category_functions.lib.php';
 require_once api_get_path(LIBRARY_PATH).'sessionmanager.lib.php';
 $xajax = new xajax();
 $xajax -> registerFunction ('search_courses');
@@ -58,32 +58,6 @@ if (!api_is_platform_admin()) {
 	}
 }
 
-function search_courses($needle,$type) {
-	global $tbl_course, $tbl_session, $id_session;
-
-	$xajax_response = new XajaxResponse();
-	$return = '';
-	if(!empty($needle) && !empty($type)) {
-		// xajax send utf8 datas... datas in db can be non-utf8 datas
-		$charset = api_get_setting('platform_charset');
-		$needle = api_convert_encoding($needle, $charset, 'utf-8');
-
-		$sql = 'SELECT * FROM '.$tbl_session.' WHERE name LIKE "'.$needle.'%" ORDER BY id';
-
-		$rs = Database::query($sql, __FILE__, __LINE__);
-		$course_list = array();
-
-		$return .= '<select id="origin" name="NoSessionCategoryList[]" multiple="multiple" size="20" style="width:340px;">';
-		while($course = Database :: fetch_array($rs)) {
-			$course_list[] = $course['id'];
-			$return .= '<option value="'.$course['id'].'" title="'.htmlspecialchars($course['name'],ENT_QUOTES).'">'.$course['name'].'</option>';
-		}
-		$return .= '</select>';
-		$xajax_response -> addAssign('ajax_list_courses_multiple','innerHTML',api_utf8_encode($return));
-	}
-	$_SESSION['course_list'] = $course_list;
-	return $xajax_response;
-}
 $xajax -> processRequests();
 $htmlHeadXtra[] = $xajax->getJavascript('../inc/lib/xajax/');
 $htmlHeadXtra[] = '

+ 106 - 0
main/inc/lib/add_courses_to_session_functions.lib.php

@@ -0,0 +1,106 @@
+<?php
+
+require_once (api_get_path(LIBRARY_PATH).'xajax/xajax.inc.php');
+//require_once (api_get_path(SYS_CODE_PATH).'admin/add_courses_to_session.php');
+
+
+class AddCourseToSession{
+
+	function search_courses($needle,$type)
+	{
+		global $tbl_course, $tbl_session_rel_course, $id_session;
+	
+		$xajax_response = new XajaxResponse();
+		$return = '';
+		if(!empty($needle) && !empty($type)) {
+			// xajax send utf8 datas... datas in db can be non-utf8 datas
+			$charset = api_get_setting('platform_charset');
+			$needle = api_convert_encoding($needle, $charset, 'utf-8');
+	
+			$cond_course_code = '';
+			if (!empty($id_session)) {
+			$id_session = Database::escape_string($id_session);
+				// check course_code from session_rel_course table
+				$sql = 'SELECT course_code FROM '.$tbl_session_rel_course.' WHERE id_session ="'.(int)$id_session.'"';
+				$res = Database::query($sql,__FILE__,__LINE__);
+				$course_codes = '';
+				if (Database::num_rows($res) > 0) {
+					while ($row = Database::fetch_row($res)) {
+						$course_codes .= '\''.$row[0].'\',';
+					}
+					$course_codes = substr($course_codes,0,(strlen($course_codes)-1));
+	
+					$cond_course_code = ' AND course.code NOT IN('.$course_codes.') ';
+				}
+			}
+	
+			if ($type=='single') {
+			// search users where username or firstname or lastname begins likes $needle
+			$sql = 'SELECT course.code, course.visual_code, course.title, session_rel_course.id_session
+					FROM '.$tbl_course.' course
+					LEFT JOIN '.$tbl_session_rel_course.' session_rel_course
+						ON course.code = session_rel_course.course_code
+						AND session_rel_course.id_session = '.intval($id_session).'
+					WHERE course.visual_code LIKE "'.$needle.'%"
+					OR course.title LIKE "'.$needle.'%"';
+			} else {
+	
+			$sql = 'SELECT course.code, course.visual_code, course.title
+					FROM '.$tbl_course.' course
+					WHERE course.visual_code LIKE "'.$needle.'%" '.$cond_course_code.' ORDER BY course.code ';
+			}
+	
+			global $_configuration;
+			if ($_configuration['multiple_access_urls']==true) {
+				$tbl_course_rel_access_url= Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
+				$access_url_id = api_get_current_access_url_id();
+				if ($access_url_id != -1){
+	
+					if ($type=='single') {
+						$sql = 'SELECT course.code, course.visual_code, course.title, session_rel_course.id_session
+								FROM '.$tbl_course.' course
+								LEFT JOIN '.$tbl_session_rel_course.' session_rel_course
+									ON course.code = session_rel_course.course_code
+									AND session_rel_course.id_session = '.intval($id_session).'
+								INNER JOIN '.$tbl_course_rel_access_url.' url_course ON (url_course.course_code=course.code)
+								WHERE access_url_id = '.$access_url_id.' AND (course.visual_code LIKE "'.$needle.'%"
+								OR course.title LIKE "'.$needle.'%" )';
+					} else {
+						$sql = 'SELECT course.code, course.visual_code, course.title
+								FROM '.$tbl_course.' course, '.$tbl_course_rel_access_url.' url_course
+								WHERE url_course.course_code=course.code AND access_url_id = '.$access_url_id.'
+								AND course.visual_code LIKE "'.$needle.'%" '.$cond_course_code.' ORDER BY course.code ';
+					}
+				}
+			}
+	
+			$rs = Database::query($sql, __FILE__, __LINE__);
+			$course_list = array();
+			if ($type=='single') {
+	
+				while($course = Database :: fetch_array($rs)) {
+					$course_list[] = $course['code'];
+					$course_title=str_replace("'","\'",$course_title);
+					$return .= '<a href="javascript: void(0);" onclick="javascript: add_course_to_session(\''.$course['code'].'\',\''.$course_title.' ('.$course['visual_code'].')'.'\')">'.$course['title'].' ('.$course['visual_code'].')</a><br />';
+				}
+	
+				$xajax_response -> addAssign('ajax_list_courses_single','innerHTML',api_utf8_encode($return));
+	
+			} else {
+	
+				$return .= '<select id="origin" name="NoSessionCoursesList[]" multiple="multiple" size="20" style="width:340px;">';
+				while($course = Database :: fetch_array($rs)) {
+					$course_list[] = $course['code'];
+					$course_title=str_replace("'","\'",$course_title);
+					$return .= '<option value="'.$course['code'].'" title="'.htmlspecialchars($course['title'].' ('.$course['visual_code'].')',ENT_QUOTES).'">'.$course['title'].' ('.$course['visual_code'].')</option>';
+				}
+				$return .= '</select>';
+	
+				$xajax_response -> addAssign('ajax_list_courses_multiple','innerHTML',api_utf8_encode($return));
+			}
+		}
+		$_SESSION['course_list'] = $course_list;
+		return $xajax_response;
+	}
+}
+?>

+ 36 - 0
main/inc/lib/add_many_session_to_category_functions.lib.php

@@ -0,0 +1,36 @@
+<?php
+
+require_once (api_get_path(LIBRARY_PATH).'xajax/xajax.inc.php');
+
+
+class AddManySessionToCategoryFunctions {
+	
+	function search_courses($needle,$type) {
+		
+		global $tbl_course, $tbl_session, $id_session;
+		$xajax_response = new XajaxResponse();
+		$return = '';
+		if(!empty($needle) && !empty($type)) {
+			// xajax send utf8 datas... datas in db can be non-utf8 datas
+			$charset = api_get_setting('platform_charset');
+			$needle = api_convert_encoding($needle, $charset, 'utf-8');
+	
+			$sql = 'SELECT * FROM '.$tbl_session.' WHERE name LIKE "'.$needle.'%" ORDER BY id';
+	
+			$rs = Database::query($sql, __FILE__, __LINE__);
+			$course_list = array();
+	
+			$return .= '<select id="origin" name="NoSessionCategoryList[]" multiple="multiple" size="20" style="width:340px;">';
+			while($course = Database :: fetch_array($rs)) {
+				$course_list[] = $course['id'];
+				$return .= '<option value="'.$course['id'].'" title="'.htmlspecialchars($course['name'],ENT_QUOTES).'">'.$course['name'].'</option>';
+			}
+			$return .= '</select>';
+			$xajax_response -> addAssign('ajax_list_courses_multiple','innerHTML',api_utf8_encode($return));
+		}
+		$_SESSION['course_list'] = $course_list;
+		return $xajax_response;
+	}
+}
+
+?>

+ 35 - 0
tests/main/inc/lib/add_courses_to_sessions_functions.lib.test.php

@@ -0,0 +1,35 @@
+<?php
+
+require_once(api_get_path(LIBRARY_PATH).'add_courses_to_session_functions.lib.php');
+
+class TestAddCoursesToSessionFunctions extends UnitTestCase{
+
+	public function TestAddCoursesToSessionFunctions(){
+		$this->UnitTestCase('this File test the provides some function for Add courses to Sessions functions');
+		
+	}
+	
+	public function setUp(){
+		$this->TestAddCoursesToSessionFunctions = new AddCourseToSession();
+	}
+	
+	public function tearDown(){
+		$this->TestAddCoursesToSessionFunctions = null;
+	}
+
+	public function TestSearchCourses(){
+		global $_courses;
+		global $tbl_course, $tbl_session_rel_course, $id_session;
+		$needle = '';
+		$type = '';
+		$res = AddCourseToSession::search_courses($needle, $type);
+		$this->assertTrue($res);
+		$this->assertTrue(is_object($res));
+		$this->assertFalse(is_null($res));
+		//var_dump($res);
+		
+	}
+
+}
+
+?>

+ 29 - 0
tests/main/inc/lib/add_many_session_to_category_functions.lib.test.php

@@ -0,0 +1,29 @@
+<?php
+
+require_once (api_get_path(LIBRARY_PATH).'add_many_session_to_category_functions.lib.php');
+
+class TestAddManySessionToCategoryFunctions extends UnitTestCase {
+
+	public function TestAddManySessionToCategoryFunctions() {
+        $this->UnitTestCase('testing the file about add many session to category');
+    }
+
+	public function setUp(){
+		$this-> AddManySessionToCategory = new AddManySessionToCategoryFunctions();
+	}
+	
+	public function tearDown(){
+		$this-> AddManySessionToCategory = null;
+		
+	}
+	public function Testsearchcourses(){
+		global $_courses, $tbl_course, $tbl_session, $id_session;
+		$needle ='';
+		$type ='';
+		$res = AddManySessionToCategoryFunctions::search_courses($needle,$type);
+		$this->assertTrue($res);
+		$this->assertTrue(is_object($res));
+		//var_dump($res);
+	}
+}
+?>

+ 27 - 4
tests/test_suite.php

@@ -10,6 +10,8 @@ $libdir = dirname(__FILE__).'/../main/inc/lib/';
 
 $incdir = dirname(__FILE__).'/../main/inc/';
 //Need the ob start and clean else will show the objects 
+
+
 require_once $incdir.'global.inc.php';
 
 //List of files than need the tests
@@ -47,7 +49,11 @@ require_once $maindir.'admin/statistics/statistics.lib.php';
 require_once $incdir.'lib/usermanager.lib.php';
 require_once $maindir.'survey/survey.lib.php';
 require_once $maindir.'install/install_upgrade.lib.php';
+
 require_once $incdir.'lib/fileManage.lib.php';
+ob_end_clean();
+
+
 
 class TestsSuite extends TestSuite {
 	function setUp() {
@@ -124,6 +130,7 @@ class TestsSuite extends TestSuite {
     function TestsSuite() {
     	$this->setUp();
     	$this->TestSuite('All tests suite');
+    /*	
 		$this->addTestFile(dirname(__FILE__).'/main/install/install_upgrade.lib.test.php');
 		$this->addTestFile(dirname(__FILE__).'/main/inc/lib/database.lib.test.php');
 		$this->addTestFile(dirname(__FILE__).'/main/inc/lib/add_course.lib.inc.test.php');
@@ -159,7 +166,19 @@ class TestsSuite extends TestSuite {
 		$this->addTestFile(dirname(__FILE__).'/main/inc/lib/fileManage.lib.test.php');
 	    $this->addTestFile(dirname(__FILE__).'/main/inc/lib/geometry.lib.test.php');
     	$this->addTestFile(dirname(__FILE__).'/main/admin/statistics/statistics.lib.test.php');
+    */
+    	$this->addTestFile(dirname(__FILE__).'/main/inc/lib/access_url_edit_courses_to_url_functions.lib.test.php');
+    	$this->addTestFile(dirname(__FILE__).'/main/inc/lib/access_url_edit_sessions_to_url_functions.lib.test.php');
+    	$this->addTestFile(dirname(__FILE__).'/main/inc/lib/access_url_edit_users_to_url_functions.lib.test.php');
+    	$this->addTestFile(dirname(__FILE__).'/main/inc/lib/add_courses_to_sessions_functions.lib.test.php');
+    	$this->addTestFile(dirname(__FILE__).'/main/inc/lib/add_many_session_to_category_functions.lib.test.php');
+    	
+    	//$this->addTestFile(dirname(__FILE__).'/main/admin/access_urls.test.php');
+    
+    	
     	$this->addTestFile(dirname(__FILE__).'/main/admin/sub_language.class.test.php');
+    	
+    /*	$this->addTestFile(dirname(__FILE__).'/main/inc/lib/add_courses_to_sessions_functions.lib.test.php');
     	$this->addTestFile(dirname(__FILE__).'/main/auth/lost_password.lib.test.php');
         $this->addTestFile(dirname(__FILE__).'/main/auth/openid/xrds.lib.test.php');
         $this->addTestFile(dirname(__FILE__).'/main/chat/chat_functions.lib.test.php');
@@ -176,17 +195,21 @@ class TestsSuite extends TestSuite {
         $this->addTestFile(dirname(__FILE__).'/main/inc/lib/import.lib.test.php');
         $this->addTestFile(dirname(__FILE__).'/main/inc/lib/internationalization.lib.test.php');  
         $this->addTestFile(dirname(__FILE__).'/main/inc/lib/system_announcements.lib.test.php');
-        $this->addTestFile(dirname(__FILE__).'/main/inc/lib/fileUpload.lib.test.php');
-        $this->addTestFile(dirname(__FILE__).'/main/inc/lib/main_api.lib.test.php');//this file delete the course     
-        $this->addTestFile(dirname(__FILE__).'/main/inc/lib/debug.lib.inc.test.php');//this file need be to the finish of the tests
+        
+        //$this->addTestFile(dirname(__FILE__).'/main/inc/lib/fileUpload.lib.test.php');
+
+        $this->addTestFile(dirname(__FILE__).'/main/inc/lib/debug.lib.inc.test.php');//this file need be to the finish of the tests        
+        $this->addTestFile(dirname(__FILE__).'/main/inc/lib/main_api.lib.test.php');//this file delete the course
+        
         
         //This files have a metadata and is not available for the test.
         //$this->addTestFile(dirname(__FILE__).'/main/inc/lib/xht.lib.test.php');
 	    //$this->addTestFile(dirname(__FILE__).'/main/inc/lib/xmd.lib.test.php');
+	*/
     }
 }
 $test = &new TestsSuite();
 
 
 
-?>
+?>