diff --git a/test/class/tree.class.php b/test/class/tree.class.php new file mode 100644 index 0000000000..9ea4ca8e94 --- /dev/null +++ b/test/class/tree.class.php @@ -0,0 +1,570 @@ +objectModel = $tester->loadModel('tree'); + } + + public function getByIDTest($moduleID) + { + $objects = $this->objectModel->getByID($moduleID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getAllModulePairsTest($type = 'task') + { + $objects = $this->objectModel->getAllModulePairs($type = 'task'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test build the sql query. + * + * @param int $rootID + * @param string $type + * @param int $startModule + * @param string $branch + * @access public + * @return string + */ + public function buildMenuQueryTest($rootID, $type, $startModule = 0, $branch = 'all') + { + $string = $this->objectModel->buildMenuQuery($rootID, $type, $startModule, $branch); + + if(dao::isError()) return dao::getError(); + + return $string; + } + + public function getOptionMenuTest($rootID, $type = 'story', $startModule = 0, $branch = 0) + { + $objects = $this->objectModel->getOptionMenu($rootID, $type = 'story', $startModule = 0, $branch = 0); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getModulePairsTest($rootID, $viewType = 'story', $showModule = 'end', $extra = '') + { + $objects = $this->objectModel->getModulePairs($rootID, $viewType = 'story', $showModule = 'end', $extra = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getTaskOptionMenuTest($rootID, $productID = 0, $startModule = 0, $extra = '') + { + $objects = $this->objectModel->getTaskOptionMenu($rootID, $productID = 0, $startModule = 0, $extra = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test build tree array. + * + * @param array & $&treeMenu + * @param array $modules + * @param int $moduleID + * @param string $moduleName + * @access public + * @return array + */ + public function buildTreeArrayTest(& $treeMenu, $modules, $moduleID, $moduleName = '/') + { + $module = $this->objectModel->getByID($moduleID); + $moduleName = $module->name; + + $this->objectModel->buildTreeArray($treeMenu, $modules, $module, $moduleName); + + if(dao::isError()) return dao::getError(); + + $objects = array(); + foreach($treeMenu as $id => $string) $objects[$id] = strlen($string); + return $objects; + } + + public function getTreeMenuTest($rootID, $type = 'root', $startModule = 0, $userFunc = '', $extra = '', $branch = 0, $extraParams = '') + { + $objects = $this->objectModel->getTreeMenu($rootID, $type = 'root', $startModule = 0, $userFunc = '', $extra = '', $branch = 0, $extraParams = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getTaskTreeMenuTest($rootID, $productID = 0, $startModule = 0, $userFunc = '', $extra = '') + { + $objects = $this->objectModel->getTaskTreeMenu($rootID, $productID = 0, $startModule = 0, $userFunc = '', $extra = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getTaskStructureTest($rootID, $productID = 0) + { + $objects = $this->objectModel->getTaskStructure($rootID, $productID = 0); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getTreeStructureTest($rootID, $type) + { + $objects = $this->objectModel->getTreeStructure($rootID, $type); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getBugTreeMenuTest($rootID, $productID = 0, $startModule = 0, $userFunc = '', $extra = '') + { + $objects = $this->objectModel->getBugTreeMenu($rootID, $productID = 0, $startModule = 0, $userFunc = '', $extra = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getCaseTreeMenuTest($rootID, $productID = 0, $startModule = 0, $userFunc = '', $extra = '') + { + $objects = $this->objectModel->getCaseTreeMenu($rootID, $productID = 0, $startModule = 0, $userFunc = '', $extra = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getProjectStoryTreeMenuTest($rootID, $startModule = 0, $userFunc = '') + { + $objects = $this->objectModel->getProjectStoryTreeMenu($rootID, $startModule = 0, $userFunc = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function buildTreeTest(& $treeMenu, $module, $type, $userFunc, $extra, $branch = 'all') + { + $objects = $this->objectModel->buildTree($treeMenu, $module, $type, $userFunc, $extra, $branch = 'all'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getTaskTreeModulesTest($executionID, $parent = false, $linkObject = 'story') + { + $objects = $this->objectModel->getTaskTreeModules($executionID, $parent = false, $linkObject = 'story'); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createStoryLinkTest($type, $module, $extra = array()) + { + $objects = $this->objectModel->createStoryLink($type, $module, $extra = array()); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createLineLinkTest($type, $module, $extra) + { + $objects = $this->objectModel->createLineLink($type, $module, $extra); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createTaskLinkTest($type, $module, $extra) + { + $objects = $this->objectModel->createTaskLink($type, $module, $extra); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createProjectStoryLinkTest($type, $module, $extra) + { + $objects = $this->objectModel->createProjectStoryLink($type, $module, $extra); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createRequirementLinkTest($type, $module) + { + $objects = $this->objectModel->createRequirementLink($type, $module); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createDocLinkTest($type, $module, $extra = '') + { + $objects = $this->objectModel->createDocLink($type, $module, $extra = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createManageLinkTest($moduleID, $extra) + { + $type = 0; + $module = $this->objectModel->getByID($moduleID); + + $link = $this->objectModel->createManageLink($type, $module, $extra); + + if(dao::isError()) return dao::getError(); + + return substr($link, 0, 15); + } + + public function createTaskManageLinkTest($type, $module, $extra) + { + $objects = $this->objectModel->createTaskManageLink($type, $module, $extra); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test reate link of a bug. + * + * @param int $moduleID + * @access public + * @return string + */ + public function createBugLinkTest($moduleID) + { + $type = ''; + $module = $this->objectModel->getByID($moduleID); + + $link = $this->objectModel->createBugLink($type, $module); + + if(dao::isError()) return dao::getError(); + + $string = preg_replace("/.*(title='.*').*/", '$1', $link); + $string = str_replace("\n", '', $string); + return $string; + } + + public function createCaseLinkTest($moduleID, $extra = array('branchID' => 0)) + { + $type = ''; + $module = $this->objectModel->getByID($moduleID); + + $link = $this->objectModel->createCaseLink($type, $module, $extra); + + if(dao::isError()) return dao::getError(); + + $string = preg_replace("/.*(title='.*').*/", '$1', $link); + $string = str_replace("\n", '', $string); + return $string; + } + + public function createTestTaskLinkTest($type, $module, $extra) + { + $objects = $this->objectModel->createTestTaskLink($type, $module, $extra); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test create case lib link. + * + * @param int $moduleID + * @access public + * @return string + */ + public function createCaseLibLinkTest($moduleID) + { + $type = ''; + $module = $this->objectModel->getByID($moduleID); + + $link = $this->objectModel->createCaseLibLink($type, $module); + + if(dao::isError()) return dao::getError(); + + $string = preg_replace("/.*(title='.*').*/", '$1', $link); + $string = str_replace("\n", '', $string); + return $string; + } + + public function createBranchLinkTest($type, $rootID, $branchID, $branch) + { + $objects = $this->objectModel->createBranchLink($type, $rootID, $branchID, $branch); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test create feedback link. + * + * @param int $moduleID + * @access public + * @return string + */ + public function createFeedbackLinkTest($moduleID) + { + $type = ''; + $module = $this->objectModel->getByID($moduleID); + + $link = $this->objectModel->createFeedbackLink($type, $module); + + if(dao::isError()) return dao::getError(); + + $string = preg_replace("/.*(title='.*').*/", '$1', $link); + $string = str_replace("\n", '', $string); + return $string; + } + + public function createTrainSkillLinkTest($type, $module, $extra = '') + { + $objects = $this->objectModel->createTrainSkillLink($type, $module, $extra = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createTrainCourseLinkTest($type, $module, $extra = '') + { + $objects = $this->objectModel->createTrainCourseLink($type, $module, $extra = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function createTrainPostLinkTest($type, $module, $extra = '') + { + $objects = $this->objectModel->createTrainPostLink($type, $module, $extra = ''); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getSonsTest($rootID, $moduleID, $type = 'root', $branch = 0) + { + $objects = $this->objectModel->getSons($rootID, $moduleID, $type = 'root', $branch = 0); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getTaskSonsTest($rootID, $productID, $moduleID) + { + $objects = $this->objectModel->getTaskSons($rootID, $productID, $moduleID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getAllChildIdTest($moduleID) + { + $objects = $this->objectModel->getAllChildId($moduleID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getProjectModuleTest($projectID, $productID = 0) + { + $objects = $this->objectModel->getProjectModule($projectID, $productID = 0); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getParentsTest($moduleID) + { + $objects = $this->objectModel->getParents($moduleID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getProductTest($moduleID) + { + $objects = $this->objectModel->getProduct($moduleID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getStoryModuleTest($moduleID) + { + $objects = $this->objectModel->getStoryModule($moduleID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getModulesNameTest($moduleIdList, $allPath = true, $branchPath = false) + { + $objects = $this->objectModel->getModulesName($moduleIdList, $allPath = true, $branchPath = false); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function updateOrderTest($orders) + { + $objects = $this->objectModel->updateOrder($orders); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function manageChildTest($rootID, $type) + { + $objects = $this->objectModel->manageChild($rootID, $type); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function updateTest($moduleID) + { + $objects = $this->objectModel->update($moduleID); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test change root. + * + * @param int $moduleID + * @param int $oldRoot + * @param int $newRoot + * @param string $type + * @access public + * @return int + */ + public function changeRootTest($moduleID, $oldRoot, $newRoot, $type) + { + $this->objectModel->changeRoot($moduleID, $oldRoot, $newRoot, $type); + + if(dao::isError()) return dao::getError(); + + global $tester; + $objects = $tester->dao->select('*')->from(TABLE_STORY)->where('module')->eq($oldRoot)->andWhere('deleted')->eq(0)->fetchAll(); + return $type == 'story' ? count($objects) : 0; + } + + public function deleteTest($moduleID, $null = null) + { + $objects = $this->objectModel->delete($moduleID, $null = null); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function fixModulePathTest($root, $type) + { + $objects = $this->objectModel->fixModulePath($root, $type); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + /** + * Test check unique module name. + * + * @param object $module + * @param array $modules + * @param array $branches + * @access public + * @return string + */ + public function checkUniqueTest($module, $modules = array(), $branches = array()) + { + global $tester; + $modules = $tester->dao->select('id,name')->from(TABLE_MODULE)->where('id')->in($modules)->fetchPairs(); + + $repeatName = $this->objectModel->checkUnique($module, $modules, $branches); + + if(dao::isError()) return dao::getError(); + + return $repeatName; + } + + public function isMergeModuleTest($rootID, $viewType) + { + $objects = $this->objectModel->isMergeModule($rootID, $viewType); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getProductStructureTest($rootID, $viewType, $branchID = 'all', $currentModuleID = 0) + { + $objects = $this->objectModel->getProductStructure($rootID, $viewType, $branchID = 'all', $currentModuleID = 0); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getDataStructureTest($stmt, $viewType, $keepModules = array()) + { + $objects = $this->objectModel->getDataStructure($stmt, $viewType, $keepModules = array()); + + if(dao::isError()) return dao::getError(); + + return $objects; + } + + public function getDocStructureTest() + { + $objects = $this->objectModel->getDocStructure(); + + if(dao::isError()) return dao::getError(); + + return $objects; + } +} diff --git a/test/model/tree/buildmenuquery.php b/test/model/tree/buildmenuquery.php new file mode 100755 index 0000000000..615cfb20e4 --- /dev/null +++ b/test/model/tree/buildmenuquery.php @@ -0,0 +1,32 @@ +#!/usr/bin/env php +buildMenuQuery(); +cid=1 +pid=1 + +*/ + +$root = array(1, 2, 3, 41, 42, 43, 101, 102, 103); +$type = array('story', 'task'); +$startModule = array(1821, 1982); +$branch = 1; + +$tree = new treeTest(); + +r($tree->buildMenuQueryTest($root[0], $type[0])) && p() && e("SELECT * FROM `zt_module` WHERE root = '1' AND type = 'story' AND deleted = '0' ORDER BY `grade` desc,`order`"); // 测试查询root 1 type story 的查询语句 +r($tree->buildMenuQueryTest($root[1], $type[0])) && p() && e("SELECT * FROM `zt_module` WHERE root = '2' AND type = 'story' AND deleted = '0' ORDER BY `grade` desc,`order`"); // 测试查询root 2 type story 的查询语句 +r($tree->buildMenuQueryTest($root[2], $type[0])) && p() && e("SELECT * FROM `zt_module` WHERE root = '3' AND type = 'story' AND deleted = '0' ORDER BY `grade` desc,`order`"); // 测试查询root 3 type story 的查询语句 +r($tree->buildMenuQueryTest($root[3], $type[0])) && p() && e("SELECT * FROM `zt_module` WHERE root = '41' AND type = 'story' AND deleted = '0' ORDER BY `grade` desc,`order`"); // 测试查询root 41 type story 的查询语句 +r($tree->buildMenuQueryTest($root[4], $type[0])) && p() && e("SELECT * FROM `zt_module` WHERE root = '42' AND type = 'story' AND deleted = '0' ORDER BY `grade` desc,`order`"); // 测试查询root 42 type story 的查询语句 +r($tree->buildMenuQueryTest($root[5], $type[0])) && p() && e("SELECT * FROM `zt_module` WHERE root = '43' AND type = 'story' AND deleted = '0' ORDER BY `grade` desc,`order`"); // 测试查询root 43 type story 的查询语句 +r($tree->buildMenuQueryTest($root[6], $type[1])) && p() && e("SELECT * FROM `zt_module` WHERE root = '101' AND type = 'task' AND deleted = '0' ORDER BY `grade` desc,`order`,`type` desc"); // 测试查询root 101 type task 的查询语句 +r($tree->buildMenuQueryTest($root[7], $type[1])) && p() && e("SELECT * FROM `zt_module` WHERE root = '102' AND type = 'task' AND deleted = '0' ORDER BY `grade` desc,`order`,`type` desc"); // 测试查询root 102 type task 的查询语句 +r($tree->buildMenuQueryTest($root[8], $type[1])) && p() && e("SELECT * FROM `zt_module` WHERE root = '103' AND type = 'task' AND deleted = '0' ORDER BY `grade` desc,`order`,`type` desc"); // 测试查询root 103 type task 的查询语句 +r($tree->buildMenuQueryTest($root[3], $type[0], $startModule[0])) && p() && e("SELECT * FROM `zt_module` WHERE root = '41' AND type = 'story' AND path LIKE ',1821,%' AND deleted = '0' ORDER BY `grade` desc,`order`"); // 测试查询root 41 type story startModule 1821的查询语句 +r($tree->buildMenuQueryTest($root[3], $type[0], $startModule[1], $branch)) && p() && e("SELECT * FROM `zt_module` WHERE root = '41' AND type = 'story' AND path LIKE ',1982,%' AND (branch = '0' OR branch = '1') AND deleted = '0' ORDER BY `grade` desc,`order`"); // 测试查询root 41 type story startModule 0 branch 1 的查询语句 diff --git a/test/model/tree/buildtreearray.php b/test/model/tree/buildtreearray.php new file mode 100755 index 0000000000..62883cd7f1 --- /dev/null +++ b/test/model/tree/buildtreearray.php @@ -0,0 +1,38 @@ +#!/usr/bin/env php +buildTreeArray(); +cid=1 +pid=1 + +*/ +$tree = new treeTest(); + +$treeMenu = array(); + +$root = array(41, 42, 43, 101, 102, 103); +$type = array('story', 'task'); + +$stmt = $tester->dbh->query($tree->buildMenuQueryTest($root[0], $type[0])); +$modules = array(); +while($module = $stmt->fetch()) $modules[$module->id] = $module; + +$moduleIDList = array_keys($modules); + +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[0])) && p('1981') && e('56'); // 测试创建树选项的字符串长度 1 +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[1])) && p('1981;2381') && e('56;58'); // 测试创建树选项的字符串长度 2 +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[2])) && p('1981;2381') && e('112;58'); // 测试创建树选项的字符串长度 3 +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[3])) && p('1981;2381') && e('112;116'); // 测试创建树选项的字符串长度 4 +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[4])) && p('1981;2381;0') && e('112;116;148'); // 测试创建树选项的字符串长度 5 +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[5])) && p('1981;2381;0') && e('112;116;300'); // 测试创建树选项的字符串长度 6 +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[6])) && p('1981;2381;0') && e('112;116;336'); // 测试创建树选项的字符串长度 7 +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[7])) && p('1981;2381;0') && e('112;116;372'); // 测试创建树选项的字符串长度 8 +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[8])) && p('1981;2381;0') && e('112;116;408'); // 测试创建树选项的字符串长度 9 +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[9])) && p('1981;2381;0') && e('112;116;444'); // 测试创建树选项的字符串长度 10 +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[10])) && p('1981;2381;0') && e('112;116;480'); // 测试创建树选项的字符串长度 11 +r($tree->buildTreeArrayTest($treeMenu, $modules, $moduleIDList[11])) && p('1981;2381;0') && e('112;116;516'); // 测试创建树选项的字符串长度 12 diff --git a/test/model/tree/changeroot.php b/test/model/tree/changeroot.php new file mode 100755 index 0000000000..f0fdc2626b --- /dev/null +++ b/test/model/tree/changeroot.php @@ -0,0 +1,32 @@ +#!/usr/bin/env php +changeRoot(); +cid=1 +pid=1 + +*/ +$moduleID = array(1821, 1822, 1825, 1826, 1981, 1982, 1985, 1986, 21, 22, 24, 25); +$root = array(1, 2, 41, 42, 101, 102); +$type = array('story', 'task'); + +$tree = new treeTest(); + +r($tree->changeRootTest($moduleID[0], $root[0], $root[1], $type[0])) && p('id,root') && e('0'); // 测试修改module 1821 的root从 1 修改为 2 +r($tree->changeRootTest($moduleID[1], $root[0], $root[1], $type[0])) && p('id,root') && e('0'); // 测试修改module 1822 的root从 1 修改为 2 +r($tree->changeRootTest($moduleID[2], $root[1], $root[0], $type[0])) && p('id,root') && e('0'); // 测试修改module 1825 的root从 2 修改为 1 +r($tree->changeRootTest($moduleID[3], $root[1], $root[0], $type[0])) && p('id,root') && e('0'); // 测试修改module 1826 的root从 2 修改为 1 +r($tree->changeRootTest($moduleID[4], $root[2], $root[3], $type[0])) && p('id,root') && e('0'); // 测试修改module 1981 的root从 41 修改为 42 +r($tree->changeRootTest($moduleID[5], $root[2], $root[3], $type[0])) && p('id,root') && e('0'); // 测试修改module 1982 的root从 41 修改为 42 +r($tree->changeRootTest($moduleID[6], $root[3], $root[2], $type[0])) && p('id,root') && e('0'); // 测试修改module 1985 的root从 42 修改为 41 +r($tree->changeRootTest($moduleID[7], $root[3], $root[2], $type[0])) && p('id,root') && e('0'); // 测试修改module 1986 的root从 42 修改为 41 +r($tree->changeRootTest($moduleID[8], $root[4], $root[5], $type[1])) && p('id,root') && e('0'); // 测试修改module 21 的root从 101 修改为 102 +r($tree->changeRootTest($moduleID[9], $root[4], $root[5], $type[1])) && p('id,root') && e('0'); // 测试修改module 22 的root从 101 修改为 102 +r($tree->changeRootTest($moduleID[10], $root[5], $root[4], $type[1])) && p('id,root') && e('0'); // 测试修改module 24 的root从 102 修改为 101 +r($tree->changeRootTest($moduleID[11], $root[5], $root[4], $type[1])) && p('id,root') && e('0'); // 测试修改module 25 的root从 102 修改为 101 +system("./ztest init"); diff --git a/test/model/tree/checkunique.php b/test/model/tree/checkunique.php new file mode 100755 index 0000000000..5cb5bc78f4 --- /dev/null +++ b/test/model/tree/checkunique.php @@ -0,0 +1,69 @@ +#!/usr/bin/env php +checkUnique(); +cid=1 +pid=1 + +*/ +$module1 = new stdclass(); +$module1->name = '不会重名的模块'; +$module1->root = '1'; +$module1->branch = '0'; +$module1->type = 'story'; +$module1->parent = '0'; + +$module2 = new stdclass(); +$module2->name = '产品模块3'; +$module2->root = '1'; +$module2->branch = '0'; +$module2->type = 'story'; +$module2->parent = '0'; + +$module3 = new stdclass(); +$module3->name = '产品模块162'; +$module3->root = '41'; +$module3->branch = '2'; +$module3->type = 'story'; +$module3->parent = '0'; + +$module4 = new stdclass(); +$module4->name = '产品子模块281'; +$module4->root = '41'; +$module4->branch = '0'; +$module4->type = 'story'; +$module4->parent = '2381'; + +$module5 = new stdclass(); +$module5->name = '执行子模块1'; +$module5->root = '101'; +$module5->branch = '0'; +$module5->type = 'story'; +$module5->parent = '21'; + +$moduleID1 = array(1821, 1823, 1825, 1826, 1981, 1982, 1985, 1986, 21, 2901, 3021); +$moduleID2 = array(1822, 1823, 1825, 1826, 1981, 1822); +$branches = array(0, 1, 2); + +$tree = new treeTest(); + +r($tree->checkUniqueTest($module1)) && p() && e('0'); // 测试module1是否与已存在的模块重名 +r($tree->checkUniqueTest($module1, $moduleID1, $branches)) && p() && e('产品模块1'); // 测试module1 和 moduleID1 里的模块是否与已存在的模块重名 +r($tree->checkUniqueTest($module1, $moduleID2, $branches)) && p() && e('产品模块2'); // 测试module1 和 moduleID1 里的模块是否与已存在的模块重名 +r($tree->checkUniqueTest($module2)) && p() && e('产品模块3'); // 测试module1是否与已存在的模块重名 +r($tree->checkUniqueTest($module2, $moduleID1, $branches)) && p() && e('产品模块1'); // 测试module1 和 moduleID1 里的模块是否与已存在的模块重名 +r($tree->checkUniqueTest($module2, $moduleID2, $branches)) && p() && e('产品模块2'); // 测试module1 和 moduleID1 里的模块是否与已存在的模块重名 +r($tree->checkUniqueTest($module3)) && p() && e('0'); // 测试module1是否与已存在的模块重名 +r($tree->checkUniqueTest($module3, $moduleID1, $branches)) && p() && e('产品模块161'); // 测试module1 和 moduleID1 里的模块是否与已存在的模块重名 +r($tree->checkUniqueTest($module3, $moduleID2, $branches)) && p() && e('产品模块161'); // 测试module1 和 moduleID1 里的模块是否与已存在的模块重名 +r($tree->checkUniqueTest($module4)) && p() && e('产品子模块281'); // 测试module1是否与已存在的模块重名 +r($tree->checkUniqueTest($module4, $moduleID1, $branches)) && p() && e('产品子模块281'); // 测试module1 和 moduleID1 里的模块是否与已存在的模块重名 +r($tree->checkUniqueTest($module4, $moduleID2, $branches)) && p() && e('0'); // 测试module1 和 moduleID1 里的模块是否与已存在的模块重名 +r($tree->checkUniqueTest($module5)) && p() && e('0'); // 测试module1是否与已存在的模块重名 +r($tree->checkUniqueTest($module5, $moduleID1, $branches)) && p() && e('0'); // 测试module1 和 moduleID1 里的模块是否与已存在的模块重名 +r($tree->checkUniqueTest($module5, $moduleID2, $branches)) && p() && e('0'); // 测试module1 和 moduleID1 里的模块是否与已存在的模块重名 diff --git a/test/model/tree/createbuglink.php b/test/model/tree/createbuglink.php new file mode 100755 index 0000000000..5902fb260e --- /dev/null +++ b/test/model/tree/createbuglink.php @@ -0,0 +1,26 @@ +#!/usr/bin/env php +createBugLink(); +cid=1 +pid=1 + +*/ + +$moduleID = array(1821, 1822, 1981, 1982, 1621, 1622, 21, 22); + +$tree = new treeTest(); + +r($tree->createBugLinkTest($moduleID[0])) && p() && e("title='产品模块1'"); // 测试创建module 1821 的buglink +r($tree->createBugLinkTest($moduleID[1])) && p() && e("title='产品模块2'"); // 测试创建module 1822 的buglink +r($tree->createBugLinkTest($moduleID[2])) && p() && e("title='产品模块161'"); // 测试创建module 1981 的buglink +r($tree->createBugLinkTest($moduleID[3])) && p() && e("title='产品模块162'"); // 测试创建module 1982 的buglink +r($tree->createBugLinkTest($moduleID[4])) && p() && e("title='模块1601'"); // 测试创建module 1621 的buglink +r($tree->createBugLinkTest($moduleID[5])) && p() && e("title='模块1602'"); // 测试创建module 1622 的buglink +r($tree->createBugLinkTest($moduleID[6])) && p() && e("title='模块1'"); // 测试创建module 21 的buglink +r($tree->createBugLinkTest($moduleID[7])) && p() && e("title='模块2'"); // 测试创建module 22 的buglink diff --git a/test/model/tree/createcaseliblink.php b/test/model/tree/createcaseliblink.php new file mode 100755 index 0000000000..643f747154 --- /dev/null +++ b/test/model/tree/createcaseliblink.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +createCaseLibLink(); +cid=1 +pid=1 + +*/ +$moduleID = array(1821, 1822, 1981, 1982, 1621, 1622, 21, 22); + +$tree = new treeTest(); + +r($tree->createCaseLibLinkTest($moduleID[0])) && p() && e("title='产品模块1'"); // 测试创建module 1821 的caseliblink +r($tree->createCaseLibLinkTest($moduleID[1])) && p() && e("title='产品模块2'"); // 测试创建module 1822 的caseliblink +r($tree->createCaseLibLinkTest($moduleID[2])) && p() && e("title='产品模块161'"); // 测试创建module 1981 的caseliblink +r($tree->createCaseLibLinkTest($moduleID[3])) && p() && e("title='产品模块162'"); // 测试创建module 1982 的caseliblink +r($tree->createCaseLibLinkTest($moduleID[4])) && p() && e("title='模块1601'"); // 测试创建module 1621 的caseliblink +r($tree->createCaseLibLinkTest($moduleID[5])) && p() && e("title='模块1602'"); // 测试创建module 1622 的caseliblink +r($tree->createCaseLibLinkTest($moduleID[6])) && p() && e("title='模块1'"); // 测试创建module 21 的caseliblink +r($tree->createCaseLibLinkTest($moduleID[7])) && p() && e("title='模块2'"); // 测试创建module 22 的caseliblink diff --git a/test/model/tree/createcaselink.php b/test/model/tree/createcaselink.php new file mode 100755 index 0000000000..73d668dc4a --- /dev/null +++ b/test/model/tree/createcaselink.php @@ -0,0 +1,31 @@ +#!/usr/bin/env php +createCaseLink(); +cid=1 +pid=1 + +*/ + +$moduleID = array(1821, 1822, 1982, 1983, 1621, 1622, 21, 22); +$extra = array(0, 1, 2); + +$tree = new treeTest(); + +r($tree->createCaseLinkTest($moduleID[0])) && p() && e("title='产品模块1'"); // 测试创建module 1821 的caselink +r($tree->createCaseLinkTest($moduleID[1])) && p() && e("title='产品模块2'"); // 测试创建module 1822 的caselink +r($tree->createCaseLinkTest($moduleID[2], array('branchID' => $extra[0]))) && p() && e("title='产品模块162'"); // 测试创建module 1983 branch 0 的caselink +r($tree->createCaseLinkTest($moduleID[2], array('branchID' => $extra[1]))) && p() && e("title='产品模块162'"); // 测试创建module 1983 branch 1 的caselink +r($tree->createCaseLinkTest($moduleID[2], array('branchID' => $extra[2]))) && p() && e("title='产品模块162'"); // 测试创建module 1983 branch 2 的caselink +r($tree->createCaseLinkTest($moduleID[3], array('branchID' => $extra[0]))) && p() && e("title='产品模块163'"); // 测试创建module 1983 branch 0 的caselink +r($tree->createCaseLinkTest($moduleID[3], array('branchID' => $extra[1]))) && p() && e("title='产品模块163'"); // 测试创建module 1983 branch 1 的caselink +r($tree->createCaseLinkTest($moduleID[3], array('branchID' => $extra[2]))) && p() && e("title='产品模块163'"); // 测试创建module 1983 branch 2 的caselink +r($tree->createCaseLinkTest($moduleID[4])) && p() && e("title='模块1601'"); // 测试创建module 1621 的caselink +r($tree->createCaseLinkTest($moduleID[5])) && p() && e("title='模块1602'"); // 测试创建module 1622 的caselink +r($tree->createCaseLinkTest($moduleID[6])) && p() && e("title='模块1'"); // 测试创建module 21 的caselink +r($tree->createCaseLinkTest($moduleID[7])) && p() && e("title='模块2'"); // 测试创建module 22 的caselink diff --git a/test/model/tree/createfeedbacklink.php b/test/model/tree/createfeedbacklink.php new file mode 100755 index 0000000000..617307a5b1 --- /dev/null +++ b/test/model/tree/createfeedbacklink.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +createFeedbackLink(); +cid=1 +pid=1 + +*/ +$moduleID = array(1821, 1822, 1981, 1982, 1621, 1622, 21, 22); + +$tree = new treeTest(); + +r($tree->createFeedbackLinkTest($moduleID[0])) && p() && e("title='产品模块1'"); // 测试创建module 1821 的feedbacklink +r($tree->createFeedbackLinkTest($moduleID[1])) && p() && e("title='产品模块2'"); // 测试创建module 1822 的feedbacklink +r($tree->createFeedbackLinkTest($moduleID[2])) && p() && e("title='产品模块161'"); // 测试创建module 1981 的feedbacklink +r($tree->createFeedbackLinkTest($moduleID[3])) && p() && e("title='产品模块162'"); // 测试创建module 1982 的feedbacklink +r($tree->createFeedbackLinkTest($moduleID[4])) && p() && e("title='模块1601'"); // 测试创建module 1621 的feedbacklink +r($tree->createFeedbackLinkTest($moduleID[5])) && p() && e("title='模块1602'"); // 测试创建module 1622 的feedbacklink +r($tree->createFeedbackLinkTest($moduleID[6])) && p() && e("title='模块1'"); // 测试创建module 21 的feedbacklink +r($tree->createFeedbackLinkTest($moduleID[7])) && p() && e("title='模块2'"); // 测试创建module 22 的feedbacklink diff --git a/test/model/tree/createmanagelink.php b/test/model/tree/createmanagelink.php new file mode 100755 index 0000000000..ae051dec84 --- /dev/null +++ b/test/model/tree/createmanagelink.php @@ -0,0 +1,32 @@ +#!/usr/bin/env php +createManageLink(); +cid=1 +pid=1 + +*/ +$moduleID = array(1821, 1822, 1981, 1982, 1621, 1622, 21, 22); +$extra0 = array('branchID' => 0); +$extra1 = array('branchID' => 1); +$extra2 = array('branchID' => 2); + +$tree = new treeTest(); + +r($tree->createManageLinkTest($moduleID[0], $extra0)) && p() && e("产品模块1 <"); // 测试创建module 1821 branch 0 的managelink +r($tree->createManageLinkTest($moduleID[1], $extra0)) && p() && e("产品模块2 <"); // 测试创建module 1822 branch 0 的managelink +r($tree->createManageLinkTest($moduleID[2], $extra0)) && p() && e("产品模块161"); // 测试创建module 1981 branch 0 的managelink +r($tree->createManageLinkTest($moduleID[2], $extra1)) && p() && e("产品模块161"); // 测试创建module 1981 branch 1 的managelink +r($tree->createManageLinkTest($moduleID[2], $extra2)) && p() && e("产品模块161"); // 测试创建module 1981 branch 2 的managelink +r($tree->createManageLinkTest($moduleID[3], $extra0)) && p() && e("产品模块162"); // 测试创建module 1982 branch 0 的managelink +r($tree->createManageLinkTest($moduleID[3], $extra1)) && p() && e("产品模块162"); // 测试创建module 1982 branch 1 的managelink +r($tree->createManageLinkTest($moduleID[3], $extra2)) && p() && e("产品模块162"); // 测试创建module 1982 branch 2 的managelink +r($tree->createManageLinkTest($moduleID[4], $extra0)) && p() && e("模块1601 createManageLinkTest($moduleID[5], $extra0)) && p() && e("模块1602 createManageLinkTest($moduleID[6], $extra0)) && p() && e("模块1 createManageLinkTest($moduleID[7], $extra0)) && p() && e("模块2