From bd895ca2440c63c8053426de0e95367d276d99aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B9=BF=E6=98=8E?= Date: Wed, 6 Apr 2022 16:01:06 +0800 Subject: [PATCH] * Add project test and fix bug. --- module/project/model.php | 2 +- module/task/model.php | 2 + test/class/project.class.php | 313 ++---------------- test/model/program/create.php | 2 - test/model/project/buildmenuquery.php | 18 + test/model/project/checkhaschildren.php | 2 +- test/model/project/create.php | 62 ++++ test/model/project/getbranchesbyproject.php | 21 ++ .../model/project/getbranchgroupbyproject.php | 21 ++ test/model/project/getbudgetunitlist.php | 8 +- test/model/project/getbyid.php | 27 +- test/model/project/getbyidlist.php | 8 +- test/model/project/getinfolist.php | 22 +- test/model/project/getmultilinkedproducts.php | 22 ++ test/model/project/getoverviewlist.php | 26 +- test/model/project/getpairsbyidlist.php | 15 +- test/model/project/getpairsbymodel.php | 19 ++ test/model/project/getpairsbyprogram.php | 31 +- test/model/project/getparentname.php | 24 -- test/model/project/getparentprogram.php | 25 ++ test/model/project/getprojectsconsumed.php | 18 +- test/model/project/getstatdata.php | 17 +- test/model/project/getstoriesbyproject.php | 20 ++ test/model/project/getswitcher.php | 5 +- test/model/project/gettotalbugbyproject.php | 15 +- .../project/gettotalstoriesbyproject.php | 14 +- test/model/project/gettotaltaskbyproject.php | 23 ++ test/model/project/gettreemenu.php | 19 ++ test/model/project/getworkhour.php | 11 +- test/model/project/isclickable.php | 5 +- test/model/project/savestate.php | 10 +- 31 files changed, 387 insertions(+), 440 deletions(-) create mode 100644 test/model/project/buildmenuquery.php create mode 100644 test/model/project/create.php create mode 100644 test/model/project/getbranchesbyproject.php create mode 100644 test/model/project/getbranchgroupbyproject.php create mode 100644 test/model/project/getmultilinkedproducts.php create mode 100644 test/model/project/getpairsbymodel.php delete mode 100755 test/model/project/getparentname.php create mode 100644 test/model/project/getparentprogram.php create mode 100644 test/model/project/getstoriesbyproject.php create mode 100644 test/model/project/gettotaltaskbyproject.php create mode 100644 test/model/project/gettreemenu.php diff --git a/module/project/model.php b/module/project/model.php index bd466543f9..f96ea05e27 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -851,7 +851,7 @@ class projectModel extends model if(isset($project->budget) and $program->budget != 0) { $availableBudget = $this->loadModel('program')->getBudgetLeft($program); - if($project->budget > $availableBudget) dao::$errors['budget'] = $this->lang->program->beyondParentBudget; + if($availableBudget > 0 and $project->budget > $availableBudget) dao::$errors['budget'] = $this->lang->program->beyondParentBudget; } /* Judge products not empty. */ diff --git a/module/task/model.php b/module/task/model.php index 5316974064..55d3ecc2e6 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -883,6 +883,8 @@ class taskModel extends model */ public function update($taskID) { + if($taskID <= 0) return; + $oldTask = $this->getByID($taskID); if($this->post->estimate < 0 or $this->post->left < 0 or $this->post->consumed < 0) { diff --git a/test/class/project.class.php b/test/class/project.class.php index 45fa017f41..82971993f9 100644 --- a/test/class/project.class.php +++ b/test/class/project.class.php @@ -8,11 +8,10 @@ class Project * @access public * @return void */ - public function __construct($user) + public function __construct() { global $tester; - su($user); $this->project = $tester->loadModel('project'); } @@ -36,18 +35,6 @@ class Project return true; } - /** - * checkHasChildren - * - * @param int mixed $projectID - * @access public - * @return void - */ - public function checkHasChildren($projectID) - { - return $this->project->checkHasChildren($projectID); - } - /** * checkStatusOff * @@ -74,136 +61,6 @@ class Project return true; } - /** - * checkBudgetUnitList - * - * @param string $checkList - * @param 'USD' => '美元') $'USD' => '美元') - * @access public - * @return void - */ - public function checkBudgetUnitList($checkList = array('CNY' => '人民币', 'USD' => '美元')) - { - $budgetList = $this->project->getBudgetUnitList(); - foreach($budgetList as $enBudget => $zhBudget) - { - if($checkList[$enBudget] != $zhBudget) return false; - } - return true; - } - - /** - * getByIdList - * - * @param array mixed $projectIdList - * @param int mixed $count - * @access public - * @return void - */ - public function getByIdList($projectIdList, $count) - { - $projectList = $this->project->getByIdList($projectIdList); - if(count($projectList) != $count) return false; - return $projectList; - } - - /** - * getProjectByID - * - * @param int mixed $projectID - * @access public - * @return void - */ - public function getProjectByID($projectID) - { - return $this->project->getByID($projectID); - } - - /** - * getProgramByID - * - * @param int mixed $programID - * @access public - * @return void - */ - public function getProgramByID($programID) - { - return $this->project->getByID($programID, 'program'); - } - - - /** - * getSprintByID - * - * @param int mixed $sprintID - * @access public - * @return void - */ - public function getSprintByID($sprintID) - { - return $this->project->getByID($sprintID, 'sprint'); - } - - /** - * getStageByID - * - * @param int mixed $stageID - * @access public - * @return void - */ - public function getStageByID($stageID) - { - return $this->project->getByID($stageID, 'stage'); - } - - /** - * getKanbanByID - * - * @param int mixed $kanbanID - * @access public - * @return void - */ - public function getKanbanByID($kanbanID) - { - return $this->project->getByID($kanbanID, 'kanban'); - } - - /** - * getBystatus - * - * @param string mixed $status - * @access public - * @return void - */ - public function getBystatus($status) - { - $projects = $this->project->getOverviewList('byStatus', $status); - if(!$projects) - { - $result = array(); - $result['code'] = 'fail'; - $result['message'] = 'No data.'; - - return $result; - } - - if($status == 'undone') $status = 'wait,doing,suspended'; - - foreach($projects as $project) - { - if(strpos(",$status,", $project->status) === false) - { - $result = array(); - $result['code'] = 'fail'; - $result['message'] = 'Error data.'; - - return $result; - } - } - - return count($projects); - } - /** * getListByOrder * @@ -229,54 +86,6 @@ class Project return $this->project->getOverviewList('byID', $projectID); } - /** - * getByIdListFind - * - * @param array mixed $IDList - * @access public - * @return void - */ - public function getByIdListFind($IDList) - { - $projects = $this->project->getPairsByIdList($IDList); - if(empty($projects)) - { - $result = array(); - $result['code'] = 'fail'; - $result['message'] = 'No data.'; - - return $result; - } - - foreach($projects as $projectID => $projectName) - { - if(!empty($IDList) and !in_array($projectID, $IDList)) - { - $result = array(); - $result['code'] = 'fail'; - $result['message'] = 'Error Data.'; - - return $result; - } - } - - return count($projects); - } - - /** - * getParentName - * - * @param int mixed $projectID - * @access public - * @return void - */ - public function getParentName($projectID) - { - $program = $this->project->getParentName($projectID); - if(empty($program)) return false; - return $program; - } - /** * getTeamMemberPairs * @@ -408,63 +217,6 @@ class Project return $releases; } - /** - * getByProgram - * - * @param int mixed $programID - * @access public - * @return void - */ - public function getByProgram($programID) - { - $projects = $this->project->getPairsByProgram($programID); - if(empty($projects)) - { - $result = array(); - $result['code'] = 'fail'; - $result['message'] = 'No data.'; - - return $result; - } - - return count($projects); - } - - /** - * getByStatusPairs - * - * @param string mixed $status - * @access public - * @return void - */ - public function getByStatusPairs($status) - { - $projects = $this->project->getPairsByProgram(2, $status); - if(empty($projects)) - { - $result = array(); - $result['code'] = 'fail'; - $result['message'] = 'No data.'; - - return $result; - } - - return count($projects); - } - - /** - * getConsumed - * - * @param array mixed $projectIdList - * @access public - * @return void - */ - public function getConsumed($projectIdList) - { - $projects = $this->project->getProjectsConsumed($projectIdList, $time = ''); - return $projects; - } - /** * getByStatusExe * @@ -504,46 +256,6 @@ class Project return count($executions); } - /** - * getTotalBugBy - * - * @param array mixed $projectIdList - * @param string mixed $status - * @access public - * @return void - */ - public function getTotalBugBy($projectIdList, $status) - { - $projects = $this->project->getTotalBugByProject($projectIdList, $status); - return $projects; - } - - /** - * getWorkHour - * - * @param int mixed $projectID - * @access public - * @return void - */ - public function getWorkHour($projectID) - { - $projects = $this->project->getWorkhour($projectID); - return $projects; - } - - /** - * getInfoList - * - * @param string mixed $status - * @access public - * @return void - */ - public function getInfoList($status) - { - $projects = $this->project->getInfoList($status); - return $projects; - } - /** * getStatData * @@ -573,6 +285,25 @@ class Project return $projects; } + /** + * Test create project. + * + * @param array $params + * @access public + * @return void + */ + public function create($params) + { + $_POST = $params; + + $projectID = $this->project->create(); + unset($_POST); + + if(dao::isError()) return array('message' => dao::getError()); + + return $this->project->getById($projectID); + } + /** * saveState * @@ -583,9 +314,7 @@ class Project public function saveState($projectID) { $projects = $this->project->getPairsByProgram(); - $object = $this->project->saveState($projectID, $projects); + $object = $this->project->saveState($projectID, $projects); return $object; } - } -?> diff --git a/test/model/program/create.php b/test/model/program/create.php index 2482bf3a23..948d580e5d 100755 --- a/test/model/program/create.php +++ b/test/model/program/create.php @@ -52,8 +52,6 @@ $moreThanParent['parent'] = '1'; $moreThanParent['begin'] = '2018-01-01'; $moreThanParent['end'] = '2022-02-10'; -$add_itemset = array('1', '2', '3', '4', '5', '6'); - r($program->create($normalProgram)) && p('name') && e('测试新增项目集一'); // 创建新项目集 r($program->create($emptyNameProgram)) && p('message[name]:0') && e('『项目集名称』不能为空。'); // 项目集名称为空时 r($program->create($emptyBeginProgram)) && p('message[begin]:0') && e('『计划开始』不能为空。'); // 项目集的开始时间为空 diff --git a/test/model/project/buildmenuquery.php b/test/model/project/buildmenuquery.php new file mode 100644 index 0000000000..26d9f1f57e --- /dev/null +++ b/test/model/project/buildmenuquery.php @@ -0,0 +1,18 @@ +#!/usr/bin/env php +buildMenuQuery(); +cid=1 +pid=1 + +*/ + +global $tester; +$tester->loadModel('project'); + +r(strlen($tester->project->buildMenuQuery(11))) && p() && e('231'); // 获取构建的查询项目的sql的字符串长度 +r(strlen($tester->project->buildMenuQuery(100))) && p() && e('233'); // 获取构建的查询项目的sql的字符串长度 diff --git a/test/model/project/checkhaschildren.php b/test/model/project/checkhaschildren.php index d4fd3638b6..646ee19b36 100755 --- a/test/model/project/checkhaschildren.php +++ b/test/model/project/checkhaschildren.php @@ -19,4 +19,4 @@ $project = new Project('admin'); $getID = array(1, 101); r($project->checkHasChildren($getID[0])) && p() && e('1'); //获取id为1的项目是否有子项目 -r($project->checkHasChildren($getID[1])) && p() && e('0'); //获取id为101的项目是否有子项目 \ No newline at end of file +r($project->checkHasChildren($getID[1])) && p() && e('0'); //获取id为101的项目是否有子项目 diff --git a/test/model/project/create.php b/test/model/project/create.php new file mode 100644 index 0000000000..0f814dde31 --- /dev/null +++ b/test/model/project/create.php @@ -0,0 +1,62 @@ +#!/usr/bin/env php +> 测试新增项目一 +项目名称为空时 >> 『项目名称』不能为空。 +项目的开始时间为空 >> 『计划开始』不能为空。 +项目的完成时间为空 >> 『计划完成』不能为空。 +项目的计划完成时间大于计划开始时间 >> 『计划完成』应当大于『2022-01-12』。 +项目的完成日期大于父项目的完成日期(需要实时更新日期) >> 父项目的开始日期:2022-01-16,开始日期不能小于父项目的开始日期 + +*/ + +$project = new Project(); + +$data = array( + 'parent' => 1, + 'name' => '测试新增项目一', + 'budget' => '', + 'budgetUnit' => 'CNY', + 'begin' => '2022-02-03', + 'end' => '2022-03-01', + 'desc' => '测试项目描述', + 'acl' => 'private', + 'whitelist' => '', + 'PM' => '', + 'products' => array(1) +); + +$normalProject = $data; + +$emptyNameProject = $data; +$emptyNameProject['name'] = ''; + +$emptyBeginProject = $data; +$emptyBeginProject['begin'] = ''; + +$emptyEndProject = $data; +$emptyEndProject['end'] = ''; + +$beginGtEndProject = $data; +$beginGtEndProject['end'] = '2022-01-10'; + +$moreThanParent = $data; +$moreThanParent['parent'] = '1'; +$moreThanParent['begin'] = '2018-01-01'; + +r($project->create($normalProject)) && p('name') && e('测试新增项目一'); // 创建新项目 +r($project->create($emptyNameProject)) && p('message[name]:0') && e('『项目名称』不能为空。'); // 项目名称为空时 +r($project->create($emptyBeginProject)) && p('message[begin]:0') && e('『计划开始』不能为空。'); // 项目的开始时间为空 +r($project->create($emptyEndProject)) && p('message[end]:0') && e('『计划完成』不能为空。'); // 项目的完成时间为空 +r($project->create($beginGtEndProject)) && p('message[end]:0') && e('『计划完成』应当大于『2022-01-12』。'); // 项目的计划完成时间大于计划开始时间 +r($project->create($moreThanParent)) && p('message:begin;message:end') && e('父项目的开始日期:2022-01-16,开始日期不能小于父项目的开始日期'); // 项目的完成日期大于父项目的完成日期(需要实时更新日期) +system("./ztest init"); diff --git a/test/model/project/getbranchesbyproject.php b/test/model/project/getbranchesbyproject.php new file mode 100644 index 0000000000..6550b8eff8 --- /dev/null +++ b/test/model/project/getbranchesbyproject.php @@ -0,0 +1,21 @@ +#!/usr/bin/env php +getBranchesByProject(); +cid=1 +pid=1 + +*/ + +global $tester; +$tester->loadModel('project'); + +$projectIdList = array(11, 12, 13); + +r(count($tester->project->getBranchesByProject(11))) && p('') && e('3'); // 获取id为11的项目的关联产品的分支数组数量,按产品分组 +r(key($tester->project->getBranchesByProject(11))) && p('') && e('1'); // 获取id为11的项目的关联产品的分支数组,获取第一个数组的键 +r(count($tester->project->getBranchesByProject(12))) && p('') && e('3'); // 获取id为12的项目的关联产品的分支数组数量,按产品分组 diff --git a/test/model/project/getbranchgroupbyproject.php b/test/model/project/getbranchgroupbyproject.php new file mode 100644 index 0000000000..26ac63c1b0 --- /dev/null +++ b/test/model/project/getbranchgroupbyproject.php @@ -0,0 +1,21 @@ +#!/usr/bin/env php +getBranchGroupByProject(); +cid=1 +pid=1 + +*/ + +global $tester; +$tester->loadModel('project'); + +$productIdList = array(1, 2, 3); + +r(count($tester->project->getBranchGroupByProject(11, $productIdList))) && p('') && e('1'); // 获取id为11的项目的关联产品的分支数组数量,按产品分组 +r(key($tester->project->getBranchGroupByProject(12, $productIdList))) && p('') && e('2'); // 获取id为11的项目的关联产品的分支数组,获取第一个数组的键 +r(count($tester->project->getBranchGroupByProject(13, $productIdList))) && p('') && e('1'); // 获取id为12的项目的关联产品的分支数组数量,按产品分组 diff --git a/test/model/project/getbudgetunitlist.php b/test/model/project/getbudgetunitlist.php index 31d6c0d020..db6ab2efc9 100755 --- a/test/model/project/getbudgetunitlist.php +++ b/test/model/project/getbudgetunitlist.php @@ -1,7 +1,6 @@ #!/usr/bin/env php checkBudgetUnitList()) && p() && e('1'); //检查翻译 \ No newline at end of file +global $tester; +$tester->loadModel('project'); + +r($tester->project->getBudgetUnitList()) && p('CNY,USD') && e('人民币,美元'); //获取系统中的货币单位 diff --git a/test/model/project/getbyid.php b/test/model/project/getbyid.php index 1aaae57c76..b82ad63236 100755 --- a/test/model/project/getbyid.php +++ b/test/model/project/getbyid.php @@ -1,7 +1,7 @@ #!/usr/bin/env php loadModel('project'); -$getId = array(11, 0, 1, 0, 101, 0, 131, 0, 161, 0); - -r($t->getProjectByID($getId[0])) && p('code,type') && e('project1,project'); //获取ID等于11的项目 -r($t->getProjectByID($getId[1])) && p('code,type') && e('0'); //获取不存在的项目 -r($t->getProgramByID($getId[2])) && p('code,type') && e('program1,program'); //获取ID等于1的项目集 -r($t->getProgramByID($getId[3])) && p('code,type') && e('0'); //获取不存在的项目集 -r($t->getSprintByID($getId[4])) && p('code,type') && e('project1,sprint'); //获取ID等于101的冲刺 -r($t->getSprintByID($getId[5])) && p('code,type') && e('0'); //获取不存在的冲刺 -r($t->getStageByID($getId[6])) && p('code,type') && e('project31,stage'); //获取ID等于131的阶段 -r($t->getStageByID($getId[7])) && p('code,type') && e('0'); //获取不存在的阶段 -r($t->getKanbanByID($getId[8])) && p('code,type') && e('project61,kanban'); //获取ID等于161的阶段 -r($t->getKanbanByID($getId[9])) && p('code,type') && e('0'); //获取不存在的看板 \ No newline at end of file +r($tester->project->getByID(11, 'project')) && p('code,type') && e('project1,project'); //获取ID等于11的项目 +r($tester->project->getByID(0, 'project')) && p('code,type') && e('0'); //获取不存在的项目 +r($tester->project->getByID(1, 'program')) && p('code,type') && e('program1,program'); //获取ID等于1的项目集 +r($tester->project->getByID(0, 'program')) && p('code,type') && e('0'); //获取不存在的项目集 +r($tester->project->getByID(101, 'sprint')) && p('code,type') && e('project1,sprint'); //获取ID等于101的冲刺 +r($tester->project->getByID(0, 'sprint')) && p('code,type') && e('0'); //获取不存在的冲刺 +r($tester->project->getByID(131, 'stage')) && p('code,type') && e('project31,stage'); //获取ID等于131的阶段 +r($tester->project->getByID(0, 'stage')) && p('code,type') && e('0'); //获取不存在的阶段 +r($tester->project->getByID(161, 'kanban')) && p('code,type') && e('project61,kanban'); //获取ID等于161的阶段 +r($tester->project->getByID(0, 'kanban')) && p('code,type') && e('0'); //获取不存在的看板 diff --git a/test/model/project/getbyidlist.php b/test/model/project/getbyidlist.php index 025a1555bc..51eafaf97f 100755 --- a/test/model/project/getbyidlist.php +++ b/test/model/project/getbyidlist.php @@ -1,7 +1,7 @@ #!/usr/bin/env php loadModel('project'); $projectIdList = array(11,12,13); -r(($t->getByIdList($projectIdList, 3))) && p('11:name;12:name;13:name') && e('项目1;项目2;项目3'); //获取projectIdList对应的项目名称 \ No newline at end of file +r(($tester->project->getByIdList($projectIdList))) && p('11:name;12:name;13:name') && e('项目1;项目2;项目3'); //获取projectIdList对应的项目名称 diff --git a/test/model/project/getinfolist.php b/test/model/project/getinfolist.php index cfda53c84d..2e0159c408 100755 --- a/test/model/project/getinfolist.php +++ b/test/model/project/getinfolist.php @@ -1,7 +1,7 @@ #!/usr/bin/env php loadModel('project'); -$t_status = array('doing', 'wait', 'suspended', 'closed', 'all'); +$doingProjects = $tester->project->getInfoList('doing'); +$waitProjects = $tester->project->getInfoList('wait'); +$suspendedProjects = $tester->project->getInfoList('suspended'); +$closedProjects = $tester->project->getInfoList('closed'); +$allProjects = $tester->project->getInfoList('all'); -//var_dump($project->getInfoList('all'));die; -r($project->getInfoList($t_status[0])) && p() && e('0'); //查询正在进行的项目 -r($project->getInfoList($t_status[1])) && p('11:name') && e('项目1'); //查询等待状态的项目 -r($project->getInfoList($t_status[2])) && p() && e('0'); //查询暂停状态的项目 -r($project->getInfoList($t_status[3])) && p() && e('0'); //查询关闭状态的项目 -r($project->getInfoList($t_status[4])) && p('11:name') && e('项目1'); //查询所有状态的项目 \ No newline at end of file +r(count($doingProjects)) && p() && e('44'); //查询正在进行的项目数量 +r($waitProjects) && p('11:name') && e('项目1'); //查询wait状态的Id为11的项目名称 +r(count($suspendedProjects)) && p() && e('11'); //查询暂停状态的项目数量 +r(count($closedProjects)) && p() && e('11'); //查询关闭状态的项目数量 +r(count($allProjects)) && p() && e('110'); //查询所有状态的项目数量 diff --git a/test/model/project/getmultilinkedproducts.php b/test/model/project/getmultilinkedproducts.php new file mode 100644 index 0000000000..93ca8be7e7 --- /dev/null +++ b/test/model/project/getmultilinkedproducts.php @@ -0,0 +1,22 @@ +#!/usr/bin/env php +loadModel('project'); + +$products1 = $tester->project->getMultiLinkedProducts(1); +$products2 = $tester->project->getMultiLinkedProducts(11); + +r(count($products1)) && p() && e('0'); //查询项目1的关联产品数量 +r(count($products2)) && p() && e('3'); //查询项目11的关联产品数量 +r($products2) && p('1,91,81') && e('正常产品1,多平台产品91,多平台产品81'); //查询项目11关联的产品名称 diff --git a/test/model/project/getoverviewlist.php b/test/model/project/getoverviewlist.php index 6004dea5ed..e4ef52b1c7 100755 --- a/test/model/project/getoverviewlist.php +++ b/test/model/project/getoverviewlist.php @@ -1,7 +1,7 @@ #!/usr/bin/env php loadModel('project'); -$P_status = array('wait', 'undone', 11, 10000, 'id_asc', 'name_desc'); +$byStatus1 = $tester->project->getOverviewList('byStatus', 'wait'); +$byStatus2 = $tester->project->getOverviewList('byStatus', 'undone'); -r($t->getByStatus($P_status[0])) && p() && e('15'); // 获取未开始的项目 -r($t->getByStatus($P_status[1])) && p() && e('15'); // 获取状态不为done和closed的项目 -r($t->getByID($P_status[2])) && p('11:id') && e('11'); // 根据项目ID获取项目详情 -r($t->getByID($P_status[3])) && p('id') && e('0'); // 获取不存在的项目 -r($t->getListByOrder($P_status[4])) && p() && e('1'); //按照ID正序获取项目列表 -r($t->getListByOrder($P_status[5])) && p() && e('1'); // 按照项目名称倒序获取项目列表 \ No newline at end of file +$byId1 = $tester->project->getOverviewList('byid', '11'); +$byId2 = $tester->project->getOverviewList('byid', '10000'); + +$byOrder1 = $tester->project->getOverviewList('byStatus', 'all', 'id_asc'); +$byOrder2 = $tester->project->getOverviewList('byStatus', 'all', 'name_desc'); + +r(count($byStatus1)) && p() && e('15'); // 获取未开始的项目数量 +r(count($byStatus2)) && p() && e('15'); // 获取状态不为done和closed的项目数量 +r(count($byId1)) && p() && e('1'); // 根据项目ID获取项目 +r(count($byId2)) && p() && e('0'); // 获取不存在的项目 +r(current($byOrder1)) && p('id,name') && e('11,项目1'); // 按照ID正序获取项目列表,查看排第一个的项目详情 +r(current($byOrder2)) && p('id,name') && e('100,项目90'); // 按照项目名称倒序获取项目列表,查看排第一个的项目详情 diff --git a/test/model/project/getpairsbyidlist.php b/test/model/project/getpairsbyidlist.php index 1ecc019e2e..309885c4ee 100755 --- a/test/model/project/getpairsbyidlist.php +++ b/test/model/project/getpairsbyidlist.php @@ -1,11 +1,11 @@ #!/usr/bin/env php getPairsByIdList(); cid=1 pid=1 @@ -14,10 +14,9 @@ pid=1 */ -$project = new Project('admin'); +global $tester; +$tester->loadModel('project'); +$projectIdList = array(0, 11, 12, 13); -$findProject = array(0,11,12,13); -$findAllPro = array(); - -r($project->getByIdListFind($findProject)) && p() && e('3'); //查找ID为0、11、12、13的项目 -r($project->getByIdListFind($findAllPro)) && p() && e('90'); //查找所有项目 \ No newline at end of file +r(count($tester->project->getPairsByIdList($projectIdList))) && p() && e('3'); //查找ID为0、11、12、13的项目数量 +r(count($tester->project->getPairsByIdList(array()))) && p() && e('110'); //查找所有项目数量 diff --git a/test/model/project/getpairsbymodel.php b/test/model/project/getpairsbymodel.php new file mode 100644 index 0000000000..f1528f851e --- /dev/null +++ b/test/model/project/getpairsbymodel.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +getPairsByModel(); +cid=1 +pid=1 + +*/ + +global $tester; +$tester->loadModel('project'); + +r(count($tester->project->getPairsByModel('all', 1))) && p() && e('9'); // 获取项目集1下的所有项目数量 +r($tester->project->getPairsByModel('all', 1)) && p('21') && e('项目集1 / 项目11'); // 获取项目集1下的项目名称 +r(count($tester->project->getPairsByModel('waterfall', 1))) && p() && e('3'); // 获取项目集1下的所有瀑布项目数量 diff --git a/test/model/project/getpairsbyprogram.php b/test/model/project/getpairsbyprogram.php index c9bb509194..216aba2df7 100755 --- a/test/model/project/getpairsbyprogram.php +++ b/test/model/project/getpairsbyprogram.php @@ -1,36 +1,23 @@ #!/usr/bin/env php getPairsByProgram(); cid=1 pid=1 -查找管理员可查看的所有项目 >> 90 -查找独立项目 >> No data. -查找管理员可查看的所属项目集ID为1的项目 >> 9 -查找管理员可查看的所属项目集ID为1且状态为wait的项目 >> 3 -查找管理员可查看的所属项目集ID为1且状态不为closed的项目 >> 7 - */ -/* - public function getListByOrder($orderBy) - { - $projects = $this->project->getPairsByProgram(3, 'doing', $orderBy); - return checkOrder($projects, $orderBy); - } -}*/ - -$t = new Project('admin'); +global $tester; +$tester->loadModel('project'); $t_project = array('', 0, 1, 'wait', 'noclosed'); -r($t->getByProgram($t_project[0])) && p() && e('90'); //查找管理员可查看的所有项目 -r($t->getByProgram($t_project[1])) && p() && e('No data.'); //查找独立项目 -r($t->getByProgram($t_project[2])) && p() && e('9'); //查找管理员可查看的所属项目集ID为1的项目 -r($t->getByStatusPairs($t_project[3])) && p() && e('3'); //查找管理员可查看的所属项目集ID为1且状态为wait的项目 -r($t->getByStatusPairs($t_project[4])) && p() && e('7'); //查找管理员可查看的所属项目集ID为1且状态不为closed的项目 \ No newline at end of file +r(count($tester->project->getPairsByProgram('', 'all', true))) && p() && e('110'); // 查找管理员可查看的所有项目数量 +r(count($tester->project->getPairsByProgram(0))) && p() && e('20'); // 查找独立项目数量 +r(count($tester->project->getPairsByProgram(1))) && p() && e('9'); // 查找管理员可查看的所属项目集ID为1的项目数量 +r(count($tester->project->getPairsByProgram(1, 'wait'))) && p() && e('3'); // 查找管理员可查看的所属项目集ID为1且状态为wait的项目数量 +r(count($tester->project->getPairsByProgram(1, 'noclosed'))) && p() && e('9'); // 查找管理员可查看的所属项目集ID为1且状态不为closed的项目数量 diff --git a/test/model/project/getparentname.php b/test/model/project/getparentname.php deleted file mode 100755 index 796627e8be..0000000000 --- a/test/model/project/getparentname.php +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env php -> 项目集1 -获取id为1的项目父项目名字 >> 项目集1 -获取id为0的项目父项目名字 >> 0 - -*/ - -$project = new Project('admin'); - -$getName = array(11, 1, 0); - -r($project->getParentName($getName[0])) && p('name') && e('项目集1'); //获取id为11的项目父项目名字 -r($project->getParentName($getName[1])) && p('name') && e('项目集1'); //获取id为1的项目父项目名字 -r($project->getParentName($getName[2])) && p('name') && e('0'); //获取id为0的项目父项目名字 \ No newline at end of file diff --git a/test/model/project/getparentprogram.php b/test/model/project/getparentprogram.php new file mode 100644 index 0000000000..652287553a --- /dev/null +++ b/test/model/project/getparentprogram.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +> 项目集1 +获取id为1的项目父项目名字 >> 项目集1 +获取id为0的项目父项目名字 >> 0 + +*/ + +global $tester; +$tester->loadModel('project'); + +$project1 = $tester->project->getById(11); +$project2 = $tester->project->getById(1); + +r($tester->project->getParentProgram($project1)) && p('name') && e('项目集1'); // 获取id为11的项目父项目名字 +r($tester->project->getParentProgram($project2)) && p('name') && e('0'); // 获取id为1的项目父项目名字 diff --git a/test/model/project/getprojectsconsumed.php b/test/model/project/getprojectsconsumed.php index 9316dd3d84..ed1bb44432 100755 --- a/test/model/project/getprojectsconsumed.php +++ b/test/model/project/getprojectsconsumed.php @@ -1,7 +1,7 @@ #!/usr/bin/env php getConsumed());die; >> 21.0 - >> 28.0 - >> 35.0 - */ -$projects = new Project('admin'); +global $tester; +$tester->loadModel('project'); -$getConsumed = array(11, 12, 13); +$projectIdList = array(11, 12, 13); -//var_dump($projects->getConsumed($getConsumed));die; -r($projects->getConsumed($getConsumed)) && p('11:totalConsumed') && e('21.0'); -r($projects->getConsumed($getConsumed)) && p('12:totalConsumed') && e('28.0'); -r($projects->getConsumed($getConsumed)) && p('13:totalConsumed') && e('35.0'); \ No newline at end of file +r($tester->project->getProjectsConsumed($projectIdList)) && p('11:totalConsumed') && e('21.0'); // 批量获取各个项目的总计消耗工时 +r($tester->project->getProjectsConsumed($projectIdList)) && p('12:totalConsumed') && e('28.0'); // 批量获取各个项目的总计消耗工时 +r($tester->project->getProjectsConsumed($projectIdList)) && p('13:totalConsumed') && e('35.0'); // 批量获取各个项目的总计消耗工时 diff --git a/test/model/project/getstatdata.php b/test/model/project/getstatdata.php index 4776452a6b..cb14e7274c 100755 --- a/test/model/project/getstatdata.php +++ b/test/model/project/getstatdata.php @@ -1,11 +1,11 @@ #!/usr/bin/env php getStatData(); cid=1 pid=1 @@ -17,10 +17,11 @@ pid=1 */ -$project = new Project('admin'); +global $tester; +$tester->loadModel('project'); -r($project->getStatData(13)) && p('bugCount') && e('3'); //统计id=13的项目bug数量 -r($project->getStatData(13)) && p('taskCount') && e('13'); //任务数量 -r($project->getStatData(13)) && p('waitCount') && e('2'); //暂停数量 -r($project->getStatData(13)) && p('doingCount') && e('2'); //进行的数量 -r($project->getStatData(13)) && p('finishedCount') && e('0'); //完成的数量 \ No newline at end of file +r($tester->project->getStatData(13)) && p('bugCount') && e('4'); //统计id=13的项目bug数量 +r($tester->project->getStatData(13)) && p('taskCount') && e('13'); //任务数量 +r($tester->project->getStatData(13)) && p('waitCount') && e('2'); //未开始数量 +r($tester->project->getStatData(13)) && p('doingCount') && e('2'); //进行的数量 +r($tester->project->getStatData(13)) && p('finishedCount') && e('0'); //完成的数量 diff --git a/test/model/project/getstoriesbyproject.php b/test/model/project/getstoriesbyproject.php new file mode 100644 index 0000000000..d35eaf147c --- /dev/null +++ b/test/model/project/getstoriesbyproject.php @@ -0,0 +1,20 @@ +#!/usr/bin/env php +getStoriesByProject(); +cid=1 +pid=1 + +*/ + +global $tester; +$tester->loadModel('project'); + +$result = $tester->project->getStoriesByProject(11); + +r(count($result)) && p() && e('2'); // 获取项目11关联的所有产品数量 +r($result[91]) && p('0:project') && e('11'); // 获取项目11关联的产品ID为91的详情 diff --git a/test/model/project/getswitcher.php b/test/model/project/getswitcher.php index 1c11660186..704b49e03b 100755 --- a/test/model/project/getswitcher.php +++ b/test/model/project/getswitcher.php @@ -15,6 +15,5 @@ pid=1 $project = $tester->loadModel('project'); -//var_dump($project->getSwitcher(11, 'project', 'browse'));die; -r($project->getSwitcher(11, 'project', 'browse')) && p() && e('0'); //获取项目下拉菜单,项目列表页面没有项目下拉菜单 -r($project->getSwitcher(11, 'project', 'execution')) && p() && e("项目1"); //获取项目ID为11的迭代列表页面的项目下拉菜单,查看是否包含项目ID为11的名称 \ No newline at end of file +r($project->getSwitcher(11, 'project', 'browse')) && p() && e('0'); // 获取项目下拉菜单,项目列表页面没有项目下拉菜单 +r(strpos($project->getSwitcher(11, 'project', 'execution'), "项目1")) && p() && e('137'); // 获取项目ID为11的迭代列表页面的项目下拉菜单,查看项目1下拉框出现的位置 diff --git a/test/model/project/gettotalbugbyproject.php b/test/model/project/gettotalbugbyproject.php index 38f95e1f4d..44fe9a7fe6 100755 --- a/test/model/project/gettotalbugbyproject.php +++ b/test/model/project/gettotalbugbyproject.php @@ -1,11 +1,11 @@ #!/usr/bin/env php getTotalBugByProject(); cid=1 pid=1 @@ -13,11 +13,10 @@ pid=1 */ -$project = new Project('admin'); +global $tester; +$tester->loadModel('project'); -$getBug = array(11, 12, 13, 14, 15, 16, 27); +$projectIdList = array(11, 12, 13, 14, 15, 16, 27); -//var_dump($project->getTotalBugBy($getBug, 'active'));die; - -r($project->getTotalBugBy($getBug, 'active')) && p(11) && e('3'); //状态一致时正常打印id为11的项目bug数量 -r($project->getTotalBugBy($getBug, 'active')) && p(27) && e(''); //在状态status不一致的情况下,打印id为27的项目bug数量 \ No newline at end of file +r($tester->project->getTotalBugByProject($projectIdList, 'active')) && p('11') && e('4'); //获取id为11的项目下激活的bug数量 +r($tester->project->getTotalBugByProject($projectIdList, 'active')) && p('27') && e(''); //获取id为27的项目下激活的bug数量 diff --git a/test/model/project/gettotalstoriesbyproject.php b/test/model/project/gettotalstoriesbyproject.php index a3ddfc3e9b..2a8aff4196 100755 --- a/test/model/project/gettotalstoriesbyproject.php +++ b/test/model/project/gettotalstoriesbyproject.php @@ -1,7 +1,7 @@ #!/usr/bin/env php loadModel('project'); -var_dump($project->getTotalStoriesByProject());die; \ No newline at end of file +$productIdList = array(1, 2, 3); +$stories1 = $tester->project->getTotalStoriesByProject(11); +$stories2 = $tester->project->getTotalStoriesByProject(11, $productIdList); + +r($stories1) && p() && e('0'); // 不传入产品ID列表,获取项目11下的所有需求数量 +r($stories2) && p() && e('2'); // 传入产品ID列表,获取项目11下的所有需求数量 diff --git a/test/model/project/gettotaltaskbyproject.php b/test/model/project/gettotaltaskbyproject.php new file mode 100644 index 0000000000..0f8007bc18 --- /dev/null +++ b/test/model/project/gettotaltaskbyproject.php @@ -0,0 +1,23 @@ +#!/usr/bin/env php +getTotalTaskByProject(); +cid=1 +pid=1 + +状态一致时正常打印id为11的项目bug数量 >> 3 + +*/ + +global $tester; +$tester->loadModel('project'); + +$projectIdList = array(11, 12, 13, 14, 15, 16, 27); + +r($tester->project->getTotalTaskByProject($projectIdList, 'undone')) && p('11') && e('14'); // 获取id为11的项目下激活的task数量 +r($tester->project->getTotalTaskByProject($projectIdList, 'done')) && p('15') && e('2'); // 获取id为15的项目下完成的task数量 +r($tester->project->getTotalTaskByProject($projectIdList, 'undone')) && p('27') && e('8'); // 获取id为27的项目下激活的task数量 diff --git a/test/model/project/gettreemenu.php b/test/model/project/gettreemenu.php new file mode 100644 index 0000000000..0c995025b6 --- /dev/null +++ b/test/model/project/gettreemenu.php @@ -0,0 +1,19 @@ +#!/usr/bin/env php +getTreeMenu(); +cid=1 +pid=1 + +*/ + +global $tester; +$tester->loadModel('project'); + +$lastMenu = $tester->project->getTreeMenu(0, array('projectmodel', 'createManageLink')); + +r(strlen($lastMenu)) && p() && e('1596'); // 查看获取到的menu option的字符串数量 diff --git a/test/model/project/getworkhour.php b/test/model/project/getworkhour.php index 4afdd17e5e..cf6f8da7cf 100755 --- a/test/model/project/getworkhour.php +++ b/test/model/project/getworkhour.php @@ -1,7 +1,7 @@ #!/usr/bin/env php loadModel('project'); -r($project->getWorkHour(13)) && p('totalEstimate') && e('61.0'); //预计61.0小时 -r($project->getWorkHour(13)) && p('totalConsumed') && e('95.0'); //消耗95.0小时 -r($project->getWorkHour(1000)) && p('totalEstimate') && e(''); //测试不存在的项目 \ No newline at end of file +r($tester->project->getWorkHour(13)) && p('totalEstimate') && e('61.0'); //获取项目ID为13的预计工时,61.0小时 +r($tester->project->getWorkHour(13)) && p('totalConsumed') && e('95.0'); //获取项目ID为13的消耗工时,95.0小时 +r($tester->project->getWorkHour(1000)) && p('totalEstimate') && e(''); //测试不存在的项目 diff --git a/test/model/project/isclickable.php b/test/model/project/isclickable.php index f1ceff7bf8..a208b0f4b1 100755 --- a/test/model/project/isclickable.php +++ b/test/model/project/isclickable.php @@ -1,6 +1,7 @@ #!/usr/bin/env php getByID(11); $doingProject = $projectModel->getByID(13); $suspendProject = $projectModel->getByID(17); $closedProject = $projectModel->getByID(18); -$status = array('start', 'finish', 'close', 'suspend', 'activate', ); +$status = array('start', 'finish', 'close', 'suspend', 'activate', ); r($projectModel->isClickable($waitProject, $status[0])) && p() && e('1'); // 检查未开始项目的开始按钮 r($projectModel->isClickable($waitProject, $status[1])) && p() && e('1'); // 检查未开始项目的完成按钮 @@ -58,4 +59,4 @@ r($projectModel->isClickable($closedProject, $status[0])) && p() && e('0'); // r($projectModel->isClickable($closedProject, $status[1])) && p() && e('0'); // 检查已关闭项目的完成按钮 r($projectModel->isClickable($closedProject, $status[2])) && p() && e('0'); // 检查已关闭项目的关闭按钮 r($projectModel->isClickable($closedProject, $status[3])) && p() && e('0'); // 检查已关闭项目的暂停按钮 -r($projectModel->isClickable($closedProject, $status[4])) && p() && e('1'); // 检查已关闭项目的激活按钮 \ No newline at end of file +r($projectModel->isClickable($closedProject, $status[4])) && p() && e('1'); // 检查已关闭项目的激活按钮 diff --git a/test/model/project/savestate.php b/test/model/project/savestate.php index 0d6f754791..86c8b78762 100755 --- a/test/model/project/savestate.php +++ b/test/model/project/savestate.php @@ -9,14 +9,8 @@ title=测试 programModel::saveState; cid=1 pid=1 -传入存在ID的值14,保存session,返回对应值14 >> 14 -传入存在ID的值99,保存session,返回第一位默认值11 >> 11 - */ -$project = new Project('dev1'); +$project = new Project(); -$projectId = array(14, 99); - -r($project->saveState($projectId[0])) && p() && e('14'); //传入存在ID的值14,保存session,返回对应值14 -r($project->saveState($projectId[1])) && p() && e('11'); //传入存在ID的值99,保存session,返回第一位默认值11 \ No newline at end of file +r($project->saveState(99)) && p() && e('11'); //传入存在ID的值99,保存session,返回第一位默认值11