diff --git a/module/execution/model.php b/module/execution/model.php index c5594930ae..dcffef5d44 100644 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -253,10 +253,12 @@ class executionModel extends model { $this->session->set('execution', key($executions), $this->app->tab); - $execution = $this->dao->select('*')->from(TABLE_EXECUTION)->where('id')->eq($executionID)->andWhere('type')->in('sprint,stage,kanban')->fetch(); - if(empty($execution)) return js::error($this->lang->notFound); - - if($executionID && strpos(",{$this->app->user->view->sprints},", ",{$executionID},") === false) $this->accessDenied(); + if($executionID) + { + $execution = $this->dao->select('*')->from(TABLE_EXECUTION)->where('id')->eq($executionID)->andWhere('type')->in('sprint,stage,kanban')->fetch(); + if(empty($execution)) return js::error($this->lang->notFound); + if(strpos(",{$this->app->user->view->sprints},", ",{$executionID},") === false) $this->accessDenied(); + } } $this->setProjectSession($this->session->execution); @@ -512,9 +514,9 @@ class executionModel extends model ->where('id')->eq($executionID) ->limit(1) ->exec(); - + if(dao::isError()) return false; - + /* Get team and language item. */ $this->loadModel('user'); $team = $this->user->getTeamMemberPairs($executionID, 'execution'); diff --git a/module/task/control.php b/module/task/control.php index d3446ec3c2..ae454bdbf8 100644 --- a/module/task/control.php +++ b/module/task/control.php @@ -44,7 +44,7 @@ class task extends control $extra = str_replace(array(',', ' '), array('&', ''), $extra); parse_str($extra, $output); - $executions = $this->execution->getPairs(); + $executions = $this->execution->getPairs(0, 'all', !common::checkNotCN() ? 'noclosed' : ''); $executionID = $this->execution->saveState($executionID, $executions); $this->execution->setMenu($executionID); diff --git a/module/testtask/control.php b/module/testtask/control.php index bb6e608e1c..785a6c9384 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -223,7 +223,7 @@ class testtask extends control $task = $this->dao->findById($taskID)->from(TABLE_TESTTASK)->fetch(); if($this->app->tab == 'project') $link = $this->createLink('project', 'testtask', "projectID=$task->project"); if($this->app->tab == 'execution') $link = $this->createLink('execution', 'testtask', "executionID=$task->execution"); - if($this->app->tab == 'qa') $link = $this->createLink('testtask', 'browse', "productID=$productID"); + if($this->app->tab == 'qa') $link = $this->createLink('testtask', 'browse', "productID=" . $this->post->product); return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $link)); } diff --git a/test/class/kanban.class.php b/test/class/kanban.class.php index ef7afa2043..e3db1a9739 100644 --- a/test/class/kanban.class.php +++ b/test/class/kanban.class.php @@ -174,22 +174,56 @@ class kanbanTest return $object; } - public function importCardTest($kanbanID, $regionID, $groupID, $columnID) + /** + * Test import card. + * + * @param int $kanbanID + * @param int $regionID + * @param int $groupID + * @param int $columnID + * @param array $cards + * @param int $targetLane + * @access public + * @return object + */ + public function importCardTest($kanbanID, $regionID, $groupID, $columnID, $cards, $targetLane) { - $objects = $this->objectModel->importCard($kanbanID, $regionID, $groupID, $columnID); + $_POST['cards'] = $cards; + $_POST['targetLane'] = $targetLane; + $this->objectModel->importCard($kanbanID, $regionID, $groupID, $columnID); + + unset($_POST); if(dao::isError()) return dao::getError(); - return $objects; + global $tester; + $object = $tester->dao->select('*')->from(TABLE_KANBANCELL)->where('`lane`')->eq($targetLane)->andWhere('`column`')->eq($columnID)->andWhere('kanban')->eq($kanbanID)->andWhere('type')->eq('common')->fetch(); + return $object; } - public function importObjectTest($kanbanID, $regionID, $groupID, $columnID, $objectType) + /** + * Test import object. + * + * @param int $kanbanID + * @param int $regionID + * @param int $groupID + * @param int $columnID + * @param string $objectType + * @param array $param + * @access public + * @return object + */ + public function importObjectTest($kanbanID, $regionID, $groupID, $columnID, $objectType, $param) { + foreach($param as $key => $value) $_POST[$key] = $value; + $objects = $this->objectModel->importObject($kanbanID, $regionID, $groupID, $columnID, $objectType); if(dao::isError()) return dao::getError(); - return $objects; + global $tester; + $object = $tester->dao->select('*')->from(TABLE_KANBANCELL)->where('`lane`')->eq($param['targetLane'])->andWhere('`column`')->eq($columnID)->andWhere('kanban')->eq($kanbanID)->andWhere('type')->eq('common')->fetch(); + return $object; } /** @@ -307,6 +341,15 @@ class kanbanTest return 'lanes:' . count($objects->lanes) . ', cards:' . $cardCount; } + /** + * Test get a RD kanban data. + * + * @param int $executionID + * @param string $browseType + * @param int $regionID + * @access public + * @return string + */ public function getRDKanbanTest($executionID, $browseType = 'all', $regionID = 0) { $objects = $this->objectModel->getRDKanban($executionID, $browseType, 'id_desc', $regionID); @@ -331,18 +374,34 @@ class kanbanTest return 'columns:' . $columnCount . ', lanes:' . $laneCount . ', cards:' . $cardCount; } + /** + * Test get region by id. + * + * @param int $regionID + * @access public + * @return object + */ public function getRegionByIDTest($regionID) { - $objects = $this->objectModel->getRegionByID($regionID); + $object = $this->objectModel->getRegionByID($regionID); if(dao::isError()) return dao::getError(); - return $objects; + return $object; } + /** + * Test get ordered region pairs. + * + * @param int $kanbanID + * @param int $regionID + * @param string $from + * @access public + * @return array + */ public function getRegionPairsTest($kanbanID, $regionID = 0, $from = 'kanban') { - $objects = $this->objectModel->getRegionPairs($kanbanID, $regionID = 0, $from = 'kanban'); + $objects = $this->objectModel->getRegionPairs($kanbanID, $regionID, $from); if(dao::isError()) return dao::getError(); @@ -440,13 +499,31 @@ class kanbanTest return count($objects); } - public function getImportedCardsTest($kanbanID, $cards, $fromType) + /** + * Test get imported cards. + * + * @param int $kanbanID + * @param string $fromType + * @access public + * @return string + */ + public function getImportedCardsTest($kanbanID, $fromType) { + global $tester; + $cards = $tester->dao->select('*')->from(TABLE_KANBANCARD) + ->where('deleted')->eq(0) + ->andWhere('kanban')->eq($kanbanID) + ->andWhere('archived')->eq(0) + ->andWhere('fromID')->eq(0) + ->fetchAll('id'); + $objects = $this->objectModel->getImportedCards($kanbanID, $cards, $fromType); if(dao::isError()) return dao::getError(); - return $objects; + $ids = ''; + foreach($objects as $object) $ids .= ',' . $object->id; + return $ids; } /** @@ -477,13 +554,18 @@ class kanbanTest * @access public * @return int */ - public function getCardGroupByExecutionTest($executionID, $browseType = 'all', $orderBy = 'id_asc') + public function getCardGroupByExecutionTest($executionID, $browseType = 'all') { - $objects = $this->objectModel->getCardGroupByExecution($executionID, $browseType, $orderBy); + $objects = $this->objectModel->getCardGroupByExecution($executionID, $browseType); if(dao::isError()) return dao::getError(); - return count($objects); + $cardCount = 0; + foreach($objects as $lane) + { + foreach($lane as $type) $cardCount += count($type); + } + return $cardCount; } /** @@ -580,22 +662,40 @@ class kanbanTest return $names; } - public function getSpaceListTest($browseType, $pager = null) + /** + * Test get space list. + * + * @param string $user + * @param string $browseType + * @access public + * @return int + */ + public function getSpaceListTest($user, $browseType) { - $objects = $this->objectModel->getSpaceList($browseType, $pager = null); + su($user); + $objects = $this->objectModel->getSpaceList($browseType); if(dao::isError()) return dao::getError(); - return $objects; + return count($objects); } - public function getSpacePairsTest($browseType = 'private') + /** + * Test get space pairs. + * + * @param int $user + * @param string $browseType + * @access public + * @return int + */ + public function getSpacePairsTest($user, $browseType = 'private') { - $objects = $this->objectModel->getSpacePairs($browseType = 'private'); + su($user); + $objects = $this->objectModel->getSpacePairs($browseType); if(dao::isError()) return dao::getError(); - return $objects; + return count($objects); } /** @@ -1048,13 +1148,27 @@ class kanbanTest return $objects; } + /** + * Test move a card. + * + * @param int $cardID + * @param int $fromColID + * @param int $toColID + * @param int $fromLaneID + * @param int $toLaneID + * @param int $kanbanID + * @access public + * @return object + */ public function moveCardTest($cardID, $fromColID, $toColID, $fromLaneID, $toLaneID, $kanbanID = 0) { - $objects = $this->objectModel->moveCard($cardID, $fromColID, $toColID, $fromLaneID, $toLaneID, $kanbanID = 0); + $objects = $this->objectModel->moveCard($cardID, $fromColID, $toColID, $fromLaneID, $toLaneID, $kanbanID); if(dao::isError()) return dao::getError(); - return $objects; + global $tester; + $object = $tester->dao->select('*')->from(TABLE_KANBANCELL)->where('`lane`')->eq($toLaneID)->andWhere('`column`')->eq($toColID)->andWhere('`type`')->eq('common')->fetch(); + return $object; } public function updateCardColorTest($cardID, $color) @@ -1136,13 +1250,20 @@ class kanbanTest return $objects; } + /** + * Test get space by id. + * + * @param int $spaceID + * @access public + * @return object + */ public function getSpaceByIdTest($spaceID) { - $objects = $this->objectModel->getSpaceById($spaceID); + $object = $this->objectModel->getSpaceById($spaceID); if(dao::isError()) return dao::getError(); - return $objects; + return $object; } /** @@ -1341,21 +1462,47 @@ class kanbanTest return $count; } - public function isClickableTest($object, $action) + /** + * Test check if user can execute an action. + * + * @param string $objectType + * @param int $objectID + * @param string $action + * @access public + * @return int + */ + public function isClickableTest($objectType, $objectID, $action) { - $objects = $this->objectModel->isClickable($object, $action); + $functionName = 'get' . $objectType . 'ById'; + $object = $this->objectModel->$functionName($objectID); + + $result = $this->objectModel->isClickable($object, $action); if(dao::isError()) return dao::getError(); - return $objects; + return $result ? 1 : 2; } - public function importTest($kanbanID) + /** + * Test import. + * + * @param int $kanbanID + * @access public + * @return object + */ + public function importTest($kanbanID, $import, $importObjectList) { - $objects = $this->objectModel->import($kanbanID); + $_POST['import'] = $import; + $_POST['importObjectList'] = $importObjectList; + + $this->objectModel->import($kanbanID); + + unset($_POST); if(dao::isError()) return dao::getError(); - return $objects; + $object = $this->objectModel->getByID($kanbanID); + $object->object = !empty($object->object) ? $object->object : 0; + return $object; } } diff --git a/test/class/program.class.php b/test/class/program.class.php index 098e184f5a..c80d39ce51 100644 --- a/test/class/program.class.php +++ b/test/class/program.class.php @@ -1,5 +1,5 @@ program = $tester->loadModel('program'); } /** - * create + * Test create program. * - * @param data mixed $data + * @param array $data * @access public - * @return void + * @return object */ public function create($data) { - global $app; - - $_POST = ''; $_POST = $data; $programID = $this->program->create(); @@ -36,57 +33,9 @@ class Program $program = $this->program->getById($programID); - $app->dbh->query("DELETE FROM ". TABLE_PROGRAM ." where name = '" . $data['name']. "'"); return $program; } - /** - * createData - * - * @param int mixed $status - * @access public - * @return void - */ - public function createData($status) - { - $data = array( - 'parent' => 0, - 'name' => '测试新增项目集一', - 'budget' => '', - 'budgetUnit' => 'CNY', - 'begin' => '2022-01-12', - 'end' => '2022-02-12', - 'desc' => '测试项目集描述', - 'acl' => 'private', - 'whitelist' => '' - ); - - switch($status) - { - case '1': // 创建新项目集 - break; - case '2': // 项目集名称为空时 - $data['name'] = ''; - break; - case '3': // 项目集的开始时间为空 - $data['begin'] = ''; - break; - case '4': // 项目集的完成时间为空 - $data['end'] = ''; - break; - case '5': // 项目集的计划完成时间大于计划开始时间 - $data['end'] = '2022-01-10'; - break; - case '6': // 项目集的完成日期大于父项目集的完成日期 - $data['parent'] = '1'; - $data['begin'] = '2018-01-01'; - $data['end'] = '2022-02-10'; - break; - default: - } - return $this->create($data); - } - /** * createStakeholder * @@ -171,21 +120,9 @@ class Program } /** - * getInvolvedPrograms + * Test get pairs by list. * - * @param string mixed $account - * @access public - * @return void - */ - public function getInvolvedPrograms($account) - { - return $this->program->getInvolvedPrograms($account); - } - - /** - * getPairsByList - * - * @param string $programIDList + * @param string|array $programIDList * @access public * @return void */ @@ -193,7 +130,7 @@ class Program { if(empty($this->program->getPairsByList($programIDList))) { - return array('code' => 'fail', 'message' => 'Not Found'); + return array('code' => '404', 'message' => 'Not Found'); } else { @@ -202,28 +139,22 @@ class Program } /** - * getPairs + * Test get list. * + * @param mixed $status * @access public * @return void */ - public function getPairs() + public function getList($status = 'all', $orderBy = 'id_asc', $pager = NULL) { - $programs = $this->program->getPairs(); - if(!$programs) return 0; + $this->program->cookie->showClosed = 'ture'; + $programs = $this->program->getList($status, $orderBy, $pager); + + if(dao::isError()) return array('message' => dao::getError()); + return $programs; } - /** - * getCount - * - * @access public - * @return void - */ - public function getCount() - { - return count($this->program->getPairs()); - } /** * getParentPairs @@ -236,17 +167,6 @@ class Program return $this->program->getParentPairs(); } - /** - * getCount1 - * - * @access public - * @return void - */ - public function getCount1() - { - return count($this->program->getParentPairs()); - } - /** * getParentPM * @@ -297,20 +217,6 @@ class Program return $this->program->getProductPairs(1, 'assign', $status); } - /** - * getCount2 - * - * @param int $programID - * @param string $mode - * @param string $status - * @access public - * @return void - */ - public function getCount2($programID = 0, $mode = 'assign', $status = 'all') - { - return count($this->program->getProductPairs($programID, $mode, $status)); - } - /** * getProgressList * @@ -322,17 +228,6 @@ class Program return $this->program->getProgressList(); } - /** - * getCount3 - * - * @access public - * @return void - */ - public function getCount3() - { - return count($this->program->getProgressList()); - } - /** * getStatsByProgramID * @@ -422,34 +317,6 @@ class Program return $stakeHolders; } - /** - * getCount4 - * - * @param int $programIdList - * @access public - * @return void - */ - public function getCount4($programIdList = 0) - { - $stakeHolders = $this->program->getStakeholdersByPrograms($programIdList); - - return count($stakeHolders); - } - - /** - * getByID1 - * - * @param int $programID - * @access public - * @return void - */ - public function getByID1($programID = 0) - { - $stakeholders = $this->program->getStakeholders($programID); - - return $stakeholders; - } - /** * getByOrder * @@ -464,70 +331,6 @@ class Program return checkOrder($stakeholders, $orderBy); } - /** - * getCount5 - * - * @param int $programID - * @access public - * @return void - */ - public function getCount5($programID = 0) - { - $stakeholders = $this->program->getStakeholders($programID); - - return count($stakeholders); - } - - /** - * getById2 - * - * @param mixed $programID - * @access public - * @return void - */ - public function getById2($programID) - { - if(empty($this->program->getTeamMemberPairs($programID))) - { - return array('code' => 'fail', 'message' => 'Not Found'); - } - else - { - return $this->program->getTeamMemberPairs($programID); - } - } - - /** - * getCount6 - * - * @param mixed $programID - * @access public - * @return void - */ - public function getCount6($programID) - { - return count($this->program->getTeamMemberPairs($programID)); - } - - /** - * getById3 - * - * @param int $programID - * @access public - * @return void - */ - public function getById3($programID = 0) - { - if(empty($this->program->getTopById($programID))) - { - return array('code' => 'fail', 'message' => 'Not Found'); - } - else - { - return $this->program->getTopById($programID); - } - } - /** * getTopPairs * @@ -555,125 +358,6 @@ class Program return $this->program->hasUnfinished($program); } - /** - * getKanbanGroup - * - * @param string $type - * @access public - * @return void - */ - public function getKanbanGroup($type = ''){ - $program = $this->program->getKanbanGroup(); - return $program; - } - - /** - * getListByStatus - * - * @param mixed $status - * @access public - * @return void - */ - public function getListByStatus($status) - { - $this->program->cookie->showClosed = 'ture'; - $programs = $this->program->getList($status); - if(!$programs) return 0; - foreach($programs as $program) - { - if($program->status != $status and $status != 'all') return 0; - } - return count($programs); - } - - /** - * getListByOrder - * - * @param mixed $orderBy - * @access public - * @return void - */ - public function getListByOrder($orderBy) - { - $programs = $this->program->getList('all', $orderBy); - return checkOrder($programs, $orderBy); - } - - /** - * getListByProgramID - * - * @param int $programID - * @access public - * @return void - */ - public function getListByProgramID($programID = 0) - { - return count($this->program->getProjectList($programID)); - } - - /** - * getListByStatusNo - * - * @param string $browseType - * @access public - * @return void - */ - public function getListByStatusNo($browseType = 'all') - { - $projects = $this->program->getProjectList('0', $browseType); - - if(!$projects) return 0; - foreach($projects as $project) - { - if($project->status != $browseType and $browseType != 'all' and $browseType != 'undone') return 0; - if($browseType == 'undone' and ($project->status != ('wait' or 'doing'))) return 0; - } - - return count($projects); - } - - /** - * getListByOrderId - * - * @param string $orderBy - * @access public - * @return void - */ - public function getListByOrderId($orderBy = 'id_desc') - { - $projects = $this->program->getProjectList('0', 'all', '0', $orderBy); - - return checkOrder($projects, $orderBy); - } - - /** - * getListAddProgramTitle - * - * @param int $programTitle - * @access public - * @return void - */ - public function getListAddProgramTitle($programTitle = 0) - { - return $this->program->getProjectList('0', 'all', '0', 'id_desc', '', $programTitle); - } - - /** - * getListByInvolved - * - * @param int $involved - * @param string $count - * @access public - * @return void - */ - public function getListByInvolved($involved = 0, $count = '') - { - $projects = $this->program->getProjectList('0', 'all', '0', 'id_desc', '', '0', $involved); - - if($count == 'count') return count($projects); - return $projects; - } - /** * setTreePath * diff --git a/test/class/story.class.php b/test/class/story.class.php index 653a8e7013..28c632d118 100644 --- a/test/class/story.class.php +++ b/test/class/story.class.php @@ -500,184 +500,4 @@ class storyTest $storyIdList = array_keys($changes); return $this->objectModel->getByList($storyIdList); } - - public function reportConditionTest() - { - $objects = $this->objectModel->reportCondition(); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function checkForceReviewTest() - { - $objects = $this->objectModel->checkForceReview(); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function getTracksTest($productID = 0, $branch = 0, $projectID = 0, $pager = null) - { - $objects = $this->objectModel->getTracks($productID = 0, $branch = 0, $projectID = 0, $pager = null); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function getTrackByIDTest($storyID) - { - $objects = $this->objectModel->getTrackByID($storyID); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function getStoryRelationTest($storyID, $storyType, $fields = array()) - { - $objects = $this->objectModel->getStoryRelation($storyID, $storyType, $fields = array()); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function linkStoryTest($executionID, $productID, $storyID) - { - $objects = $this->objectModel->linkStory($executionID, $productID, $storyID); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function linkStoriesTest($storyID) - { - $objects = $this->objectModel->linkStories($storyID); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function unlinkStoryTest($storyID, $linkedStoryID) - { - $objects = $this->objectModel->unlinkStory($storyID, $linkedStoryID); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function getRelationTest($storyID, $storyType, $fields = array()) - { - $objects = $this->objectModel->getRelation($storyID, $storyType, $fields = array()); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function getStoryRelationCountsTest($storyID, $storyType = '') - { - $objects = $this->objectModel->getStoryRelationCounts($storyID, $storyType = ''); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function getEstimateInfoTest($storyID, $round = 0) - { - $objects = $this->objectModel->getEstimateInfo($storyID, $round = 0); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function getEstimateRoundsTest($storyID) - { - $objects = $this->objectModel->getEstimateRounds($storyID); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function saveEstimateInfoTest($storyID) - { - $objects = $this->objectModel->saveEstimateInfo($storyID); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function sortStoriesOfPlanTest($planID, $sortIDList, $orderBy = 'id_desc', $pageID = 1, $recPerPage = 100) - { - $objects = $this->objectModel->sortStoriesOfPlan($planID, $sortIDList, $orderBy = 'id_desc', $pageID = 1, $recPerPage = 100); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function replaceURLangTest($type) - { - $objects = $this->objectModel->replaceURLang($type); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function getReviewerPairsTest($storyID, $version) - { - $objects = $this->objectModel->getReviewerPairs($storyID, $version); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function setStatusByReviewRulesTest($reviewerList) - { - $objects = $this->objectModel->setStatusByReviewRules($reviewerList); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function recordReviewActionTest($story, $result = '', $reason = '') - { - $objects = $this->objectModel->recordReviewAction($story, $result = '', $reason = ''); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function updateStoryByReviewTest($storyID, $oldStory, $story) - { - $objects = $this->objectModel->updateStoryByReview($storyID, $oldStory, $story); - - if(dao::isError()) return dao::getError(); - - return $objects; - } - - public function superReviewTest($storyID, $oldStory, $story, $result = '', $reason = '') - { - $objects = $this->objectModel->superReview($storyID, $oldStory, $story, $result = '', $reason = ''); - - if(dao::isError()) return dao::getError(); - - return $objects; - } } diff --git a/test/model/kanban/batchcreatecard.php b/test/model/kanban/batchcreatecard.php index 9581e0a08a..aff87bf523 100755 --- a/test/model/kanban/batchcreatecard.php +++ b/test/model/kanban/batchcreatecard.php @@ -18,8 +18,8 @@ $endDitto = array('1' => 'off', '2' => 'off', '3' => 'off', '4' => 'off'); $kanban = new kanbanTest(); -r($kanban->batchCreateCardTest(array('name' => $no_name))) && p('kanban,column,lane,type,cards') && e('1,1,1,common,,803,802,801,1,2,'); // 批量创建卡片 其中一个没有名称 +r($kanban->batchCreateCardTest(array('name' => $no_name))) && p('kanban,column,lane,type,cards') && e('1,1,1,common,,1003,1002,1001,1,2,801,'); // 批量创建卡片 其中一个没有名称 r($kanban->batchCreateCardTest(array('estimate' => $estimate))) && p() && e('预计不能为负数!'); // 批量创建卡片 预计为负数 r($kanban->batchCreateCardTest(array(), true)) && p() && e('"截止日期"不能小于"预计开始"!'); // 批量创建看板 截止日期小于开始日期 -r($kanban->batchCreateCardTest()) && p('kanban,column,lane,type,cards') && e('1,1,1,common,,810,809,808,807,804,803,802,801,1,2,'); // 批量创建看板 +r($kanban->batchCreateCardTest()) && p('kanban,column,lane,type,cards') && e('1,1,1,common,,1010,1009,1008,1007,1004,1003,1002,1001,1,2,801,'); // 批量创建看板 system("./ztest init"); diff --git a/test/model/kanban/getcardgroupbyexecution.php b/test/model/kanban/getcardgroupbyexecution.php new file mode 100755 index 0000000000..e3ea790afe --- /dev/null +++ b/test/model/kanban/getcardgroupbyexecution.php @@ -0,0 +1,29 @@ +#!/usr/bin/env php +getCardGroupByExecution(); +cid=1 +pid=1 + +*/ + +$executionIDList = array('161', '162', '163', '164', '165'); +$browseTypeList = array('task', 'bug', 'story'); + +$kanban = new kanbanTest(); +r($kanban->getCardGroupByExecutionTest($executionIDList[0])) && p() && e('5'); // 测试查询execution161的卡片 +r($kanban->getCardGroupByExecutionTest($executionIDList[0], $browseTypeList[0])) && p() && e('1'); // 测试查询execution161的task卡片 +r($kanban->getCardGroupByExecutionTest($executionIDList[0], $browseTypeList[1])) && p() && e('3'); // 测试查询execution161的bug卡片 +r($kanban->getCardGroupByExecutionTest($executionIDList[0], $browseTypeList[2])) && p() && e('1'); // 测试查询execution161的story卡片 +r($kanban->getCardGroupByExecutionTest($executionIDList[1])) && p() && e('5'); // 测试查询execution162的卡片 +r($kanban->getCardGroupByExecutionTest($executionIDList[1], $browseTypeList[0])) && p() && e('1'); // 测试查询execution162的task卡片 +r($kanban->getCardGroupByExecutionTest($executionIDList[1], $browseTypeList[1])) && p() && e('3'); // 测试查询execution162的bug卡片 +r($kanban->getCardGroupByExecutionTest($executionIDList[1], $browseTypeList[2])) && p() && e('1'); // 测试查询execution162的story卡片 +r($kanban->getCardGroupByExecutionTest($executionIDList[2])) && p() && e('0'); // 测试查询execution163的卡片 +r($kanban->getCardGroupByExecutionTest($executionIDList[3])) && p() && e('0'); // 测试查询execution164的卡片 +r($kanban->getCardGroupByExecutionTest($executionIDList[4])) && p() && e('0'); // 测试查询execution165的卡片 diff --git a/test/model/kanban/getcardsbyobject.php b/test/model/kanban/getcardsbyobject.php index 0545f99647..8f28653a99 100755 --- a/test/model/kanban/getcardsbyobject.php +++ b/test/model/kanban/getcardsbyobject.php @@ -19,17 +19,17 @@ $statusList = array('doing', 'done'); $kanban = new kanbanTest(); -r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[0])) && p() && e('8'); // 测试查询kanban 1的卡片数量 -r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[1])) && p() && e('8'); // 测试查询kanban 2的卡片数量 -r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[2])) && p() && e('8'); // 测试查询kanban 3的卡片数量 -r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[3])) && p() && e('8'); // 测试查询kanban 4的卡片数量 -r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[4])) && p() && e('8'); // 测试查询kanban 5的卡片数量 +r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[0])) && p() && e('16'); // 测试查询kanban 1的卡片数量 +r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[1])) && p() && e('16'); // 测试查询kanban 2的卡片数量 +r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[2])) && p() && e('16'); // 测试查询kanban 3的卡片数量 +r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[3])) && p() && e('16'); // 测试查询kanban 4的卡片数量 +r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[4])) && p() && e('16'); // 测试查询kanban 5的卡片数量 r($kanban->getCardsByObjectTest($objectType[0], $kanbanIDList[5])) && p() && e('0'); // 测试查询不存在kanban的卡片数量 -r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[0])) && p() && e('8'); // 测试查询region 1的卡片数量 -r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[1])) && p() && e('8'); // 测试查询region 2的卡片数量 -r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[2])) && p() && e('8'); // 测试查询region 3的卡片数量 -r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[3])) && p() && e('8'); // 测试查询region 4的卡片数量 -r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[4])) && p() && e('8'); // 测试查询region 5的卡片数量 +r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[0])) && p() && e('16'); // 测试查询region 1的卡片数量 +r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[1])) && p() && e('16'); // 测试查询region 2的卡片数量 +r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[2])) && p() && e('16'); // 测试查询region 3的卡片数量 +r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[3])) && p() && e('16'); // 测试查询region 4的卡片数量 +r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[4])) && p() && e('16'); // 测试查询region 5的卡片数量 r($kanban->getCardsByObjectTest($objectType[1], $regionIDList[5])) && p() && e('0'); // 测试查询不存在region的卡片数量 -r($kanban->getCardsByObjectTest($objectType[2], $statusList[0])) && p() && e('534'); // 测试查询status doing的卡片数量 -r($kanban->getCardsByObjectTest($objectType[2], $statusList[1])) && p() && e('266'); // 测试查询status doing的卡片数量 +r($kanban->getCardsByObjectTest($objectType[2], $statusList[0])) && p() && e('667'); // 测试查询status doing的卡片数量 +r($kanban->getCardsByObjectTest($objectType[2], $statusList[1])) && p() && e('333'); // 测试查询status doing的卡片数量 diff --git a/test/model/kanban/getimportedcards.php b/test/model/kanban/getimportedcards.php new file mode 100755 index 0000000000..97638c27f9 --- /dev/null +++ b/test/model/kanban/getimportedcards.php @@ -0,0 +1,35 @@ +#!/usr/bin/env php +getImportedCards(); +cid=1 +pid=1 + +*/ + +$kanbanIDList = array('1', '2', '9', '10', '11', '12', '23', '25'); +$fromType = array('productplan', 'release', 'execution', 'build'); + +$kanban = new kanbanTest(); + +r($kanban->getImportedCardsTest($kanbanIDList[0], $fromType[0])) && p() && e(',1,2,3,4,5,6,7,8,801,802,803,804,805,806,807,808'); // 查看看板1的普通卡片和productplan卡片 +r($kanban->getImportedCardsTest($kanbanIDList[0], $fromType[1])) && p() && e(',1,2,3,4,5,6,7,8'); // 查看看板1的普通卡片和release卡片 +r($kanban->getImportedCardsTest($kanbanIDList[1], $fromType[0])) && p() && e(',9,10,11,12,13,14,15,16,809,810,811,812,813,814,815,816'); // 查看看板2的普通卡片和productplan卡片 +r($kanban->getImportedCardsTest($kanbanIDList[1], $fromType[1])) && p() && e(',9,10,11,12,13,14,15,16'); // 查看看板2的普通卡片和release卡片 +r($kanban->getImportedCardstest($kanbanIDList[2], $fromType[1])) && p() && e(',65,66,67,68,69,70,71,72,871,872'); // 查看看板9的普通卡片和release卡片 +r($kanban->getImportedCardstest($kanbanIDList[2], $fromType[2])) && p() && e(',65,66,67,68,69,70,71,72'); // 查看看板9的普通卡片和execution卡片 +r($kanban->getImportedCardstest($kanbanIDList[3], $fromType[1])) && p() && e(',73,74,75,76,77,78,79,80,873,874,875,876,877,878,879,880'); // 查看看板10的普通卡片和release卡片 +r($kanban->getImportedCardstest($kanbanIDList[3], $fromType[2])) && p() && e(',73,74,75,76,77,78,79,80'); // 查看看板10的普通卡片和execution卡片 +r($kanban->getImportedCardstest($kanbanIDList[4], $fromType[2])) && p() && e(',81,82,83,84,85,86,87,88,881,882,883,884,885,886,887,888'); // 查看看板11的普通卡片和execution卡片 +r($kanban->getImportedCardstest($kanbanIDList[4], $fromType[3])) && p() && e(',81,82,83,84,85,86,87,88'); // 查看看板11的普通卡片和build卡片 +r($kanban->getImportedCardstest($kanbanIDList[5], $fromType[2])) && p() && e(',89,90,91,92,93,94,95,96,889,890,891,892,893,894,895,896'); // 查看看板12的普通卡片和execution卡片 +r($kanban->getImportedCardstest($kanbanIDList[5], $fromType[3])) && p() && e(',89,90,91,92,93,94,95,96'); // 查看看板12的普通卡片和build卡片 +r($kanban->getImportedCardstest($kanbanIDList[6], $fromType[3])) && p() && e(',177,178,179,180,181,182,183,184,981,982,983,984'); // 查看看板23的普通卡片和build卡片 +r($kanban->getImportedCardstest($kanbanIDList[6], $fromType[0])) && p() && e(',177,178,179,180,181,182,183,184'); // 查看看板23的普通卡片和productplan片 +r($kanban->getImportedCardstest($kanbanIDList[7], $fromType[3])) && p() && e(',193,194,195,196,197,198,199,200,993,994,995,996,997,998,999,1000'); // 查看看板25的普通卡片和build卡片 +r($kanban->getImportedCardstest($kanbanIDList[7], $fromType[0])) && p() && e(',193,194,195,196,197,198,199,200'); // 查看看板25的普通卡片和productplan片 diff --git a/test/model/kanban/getregionbyid.php b/test/model/kanban/getregionbyid.php new file mode 100755 index 0000000000..7f6a52f8c1 --- /dev/null +++ b/test/model/kanban/getregionbyid.php @@ -0,0 +1,23 @@ +#!/usr/bin/env php +getRegionByID(); +cid=1 +pid=1 + +*/ +$regionIDList = array('1', '2', '3', '4', '5', '10001'); + +$kanban = new kanbanTest(); + +r($kanban->getRegionByIDTest($regionIDList[0])) && p('name,kanban,space') && e('默认区域,1,1'); // 测试查询看板1信息 +r($kanban->getRegionByIDTest($regionIDList[1])) && p('name,kanban,space') && e('默认区域,2,1'); // 测试查询看板2信息 +r($kanban->getRegionByIDTest($regionIDList[2])) && p('name,kanban,space') && e('默认区域,3,2'); // 测试查询看板3信息 +r($kanban->getRegionByIDTest($regionIDList[3])) && p('name,kanban,space') && e('默认区域,4,2'); // 测试查询看板4信息 +r($kanban->getRegionByIDTest($regionIDList[4])) && p('name,kanban,space') && e('默认区域,5,3'); // 测试查询看板5信息 +r($kanban->getRegionByIDTest($regionIDList[5])) && p('name,kanban,space') && e('0'); // 测试查询不存在的看板信息 diff --git a/test/model/kanban/getregionpairs.php b/test/model/kanban/getregionpairs.php new file mode 100755 index 0000000000..fbd5c5e601 --- /dev/null +++ b/test/model/kanban/getregionpairs.php @@ -0,0 +1,37 @@ +#!/usr/bin/env php +getRegionPairs(); +cid=1 +pid=1 + +*/ +$kanbanIDList = array('1', '2', '3', '4', '5', '10001'); +$regionIDList = array('1', '2', '3', '4', '5', '10001'); +$executionIDList = array('161', '162'); + +$kanban = new kanbanTest(); + +r($kanban->getRegionPairsTest($kanbanIDList[0])) && p('1') && e('默认区域'); // 测试查询kanban1的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[0], $regionIDList[0])) && p('1') && e('默认区域'); // 测试查询kanban1 reigon1的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[0], $regionIDList[1])) && p('1') && e('0'); // 测试查询kanban1 region2的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[1])) && p('2') && e('默认区域'); // 测试查询kanban1的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[1], $regionIDList[1])) && p('2') && e('默认区域'); // 测试查询kanban1 reigon2的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[1], $regionIDList[2])) && p('2') && e('0'); // 测试查询kanban1 region3的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[2])) && p('3') && e('默认区域'); // 测试查询kanban1的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[2], $regionIDList[2])) && p('3') && e('默认区域'); // 测试查询kanban1 reigon3的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[2], $regionIDList[3])) && p('3') && e('0'); // 测试查询kanban1 region4的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[3])) && p('4') && e('默认区域'); // 测试查询kanban1的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[3], $regionIDList[3])) && p('4') && e('默认区域'); // 测试查询kanban1 reigon4的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[3], $regionIDList[4])) && p('4') && e('0'); // 测试查询kanban1 region5的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[4])) && p('5') && e('默认区域'); // 测试查询kanban1的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[4], $regionIDList[4])) && p('5') && e('默认区域'); // 测试查询kanban1 reigon5的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[4], $regionIDList[5])) && p('5') && e('0'); // 测试查询kanban1 region10001的区域信息 +r($kanban->getRegionPairsTest($kanbanIDList[5])) && p() && e('0'); // 测试查询不存在的kanban的区域信息 +r($kanban->getRegionPairsTest($executionIDList[0], 0, 'execution')) && p('101') && e('默认区域'); // 测试查询执行161的区域信息 +r($kanban->getRegionPairsTest($executionIDList[1], 0, 'execution')) && p('102') && e('默认区域'); // 测试查询执行162的区域信息 diff --git a/test/model/kanban/getspacebyid.php b/test/model/kanban/getspacebyid.php new file mode 100755 index 0000000000..07b1c9cac3 --- /dev/null +++ b/test/model/kanban/getspacebyid.php @@ -0,0 +1,23 @@ +#!/usr/bin/env php +getSpaceById(); +cid=1 +pid=1 + +*/ +$spaceIDList = array('1', '2', '3', '4', '5', '10001'); + +$kanban = new kanbanTest(); + +r($kanban->getSpaceByIdTest($spaceIDList[0])) && p('name,type,owner,status') && e('协作空间1,cooperation,po15,active'); // 测试查询空间1信息 +r($kanban->getSpaceByIdTest($spaceIDList[1])) && p('name,type,owner,status') && e('私有空间2,private,po16,active'); // 测试查询空间2信息 +r($kanban->getSpaceByIdTest($spaceIDList[2])) && p('name,type,owner,status') && e('公共空间3,public,po17,active'); // 测试查询空间3信息 +r($kanban->getSpaceByIdTest($spaceIDList[3])) && p('name,type,owner,status') && e('协作空间4,cooperation,po18,active'); // 测试查询空间4信息 +r($kanban->getSpaceByIdTest($spaceIDList[4])) && p('name,type,owner,status') && e('私有空间5,private,po19,active'); // 测试查询空间5信息 +r($kanban->getSpaceByIdTest($spaceIDList[5])) && p('name,type,owner,status') && e('0'); // 测试查询不存在的空间信息 diff --git a/test/model/kanban/getspacelist.php b/test/model/kanban/getspacelist.php new file mode 100755 index 0000000000..1bf8306961 --- /dev/null +++ b/test/model/kanban/getspacelist.php @@ -0,0 +1,34 @@ +#!/usr/bin/env php +getSpaceList(); +cid=1 +pid=1 + +*/ + +$userList = array('admin', 'po16', 'test37', 'user25'); +$browseType = array('private', 'cooperation', 'public', 'involved'); + +$kanban = new kanbanTest(); + +r($kanban->getSpaceListTest($userList[0], $browseType[0])) && p() && e('0'); // 查询用户可以看到的admin private的空间数量 +r($kanban->getSpaceListTest($userList[0], $browseType[1])) && p() && e('17'); // 查询用户可以看到的admin cooperation的空间数量 +r($kanban->getSpaceListTest($userList[0], $browseType[2])) && p() && e('16'); // 查询用户可以看到的admin public的空间数量 +r($kanban->getSpaceListTest($userList[0], $browseType[3])) && p() && e('0'); // 查询用户可以看到的admin involved的空间数量 +r($kanban->getSpaceListTest($userList[1], $browseType[0])) && p() && e('1'); // 查询用户可以看到的po16 private的空间数量 +r($kanban->getSpaceListTest($userList[1], $browseType[1])) && p() && e('0'); // 查询用户可以看到的po16 cooperation的空间数量 +r($kanban->getSpaceListTest($userList[1], $browseType[2])) && p() && e('16'); // 查询用户可以看到的po16 public的空间数量 +r($kanban->getSpaceListTest($userList[1], $browseType[3])) && p() && e('0'); // 查询用户可以看到的po16 involved的空间数量 +r($kanban->getSpaceListTest($userList[2], $browseType[0])) && p() && e('1'); // 查询用户可以看到的pm3 private的空间数量 +r($kanban->getSpaceListTest($userList[2], $browseType[1])) && p() && e('0'); // 查询用户可以看到的test37 cooperation的空间数量 +r($kanban->getSpaceListTest($userList[2], $browseType[2])) && p() && e('16'); // 查询用户可以看到的test37 public的空间数量 +r($kanban->getSpaceListTest($userList[2], $browseType[3])) && p() && e('0'); // 查询用户可以看到的test37 involved的空间数量 +r($kanban->getSpaceListTest($userList[3], $browseType[0])) && p() && e('1'); // 查询用户可以看到的user25 private的空间数量 +r($kanban->getSpaceListTest($userList[3], $browseType[1])) && p() && e('0'); // 查询用户可以看到的user25 cooperation的空间数量 +r($kanban->getSpaceListTest($userList[3], $browseType[2])) && p() && e('16'); // 查询用户可以看到的user25 public的空间数量 +r($kanban->getSpaceListTest($userList[3], $browseType[3])) && p() && e('0'); // 查询用户可以看到的user25 involved的空间数量 diff --git a/test/model/kanban/getspacepairs.php b/test/model/kanban/getspacepairs.php new file mode 100755 index 0000000000..6a4465bd1d --- /dev/null +++ b/test/model/kanban/getspacepairs.php @@ -0,0 +1,34 @@ +#!/usr/bin/env php +getSpacePairs(); +cid=1 +pid=1 + +*/ +$userList = array('admin', 'po16', 'test37', 'user25'); +$browseType = array('private', 'cooperation', 'public', 'involved'); + +$kanban = new kanbanTest(); + +r($kanban->getSpacePairsTest($userList[0], $browseType[0])) && p() && e('0'); // 查询用户可以看到的admin private的空间数量 +r($kanban->getSpacePairsTest($userList[0], $browseType[1])) && p() && e('17'); // 查询用户可以看到的admin cooperation的空间数量 +r($kanban->getSpacePairsTest($userList[0], $browseType[2])) && p() && e('16'); // 查询用户可以看到的admin public的空间数量 +r($kanban->getSpacePairsTest($userList[0], $browseType[3])) && p() && e('0'); // 查询用户可以看到的admin involved的空间数量 +r($kanban->getSpacePairsTest($userList[1], $browseType[0])) && p() && e('1'); // 查询用户可以看到的po16 private的空间数量 +r($kanban->getSpacePairsTest($userList[1], $browseType[1])) && p() && e('0'); // 查询用户可以看到的po16 cooperation的空间数量 +r($kanban->getSpacePairsTest($userList[1], $browseType[2])) && p() && e('16'); // 查询用户可以看到的po16 public的空间数量 +r($kanban->getSpacePairsTest($userList[1], $browseType[3])) && p() && e('0'); // 查询用户可以看到的po16 involved的空间数量 +r($kanban->getSpacePairsTest($userList[2], $browseType[0])) && p() && e('1'); // 查询用户可以看到的pm3 private的空间数量 +r($kanban->getSpacePairsTest($userList[2], $browseType[1])) && p() && e('0'); // 查询用户可以看到的test37 cooperation的空间数量 +r($kanban->getSpacePairsTest($userList[2], $browseType[2])) && p() && e('16'); // 查询用户可以看到的test37 public的空间数量 +r($kanban->getSpacePairsTest($userList[2], $browseType[3])) && p() && e('0'); // 查询用户可以看到的test37 involved的空间数量 +r($kanban->getSpacePairsTest($userList[3], $browseType[0])) && p() && e('1'); // 查询用户可以看到的user25 private的空间数量 +r($kanban->getSpacePairsTest($userList[3], $browseType[1])) && p() && e('0'); // 查询用户可以看到的user25 cooperation的空间数量 +r($kanban->getSpacePairsTest($userList[3], $browseType[2])) && p() && e('16'); // 查询用户可以看到的user25 public的空间数量 +r($kanban->getSpacePairsTest($userList[3], $browseType[3])) && p() && e('0'); // 查询用户可以看到的user25 involved的空间数量 diff --git a/test/model/kanban/import.php b/test/model/kanban/import.php new file mode 100755 index 0000000000..1a3424b659 --- /dev/null +++ b/test/model/kanban/import.php @@ -0,0 +1,42 @@ +#!/usr/bin/env php +import(); +cid=1 +pid=1 + +*/ + +$kanban = new kanbanTest(); + +$kanbanIDList = array('1', '2', '3', '4', '5'); +$import = array('on', 'off'); +$importObjectList1 = array('plans', 'releases', 'builds', 'executions', 'cards'); +$importObjectList2 = array('plans', 'cards'); + +r($kanban->importTest($kanbanIDList[0], $import[0], $importObjectList1)) && p('object') && e('plans,releases,builds,executions,cards '); // 开启看板1的导入功能 可选项全部 +r($kanban->importTest($kanbanIDList[0], $import[0], $importObjectList2)) && p('object') && e('plans,cards'); // 开启看板1的导入功能 可选项plans cards +r($kanban->importTest($kanbanIDList[0], $import[1], $importObjectList1)) && p('object') && e('0'); // 关闭看板1的导入功能 可选项全部 +r($kanban->importTest($kanbanIDList[0], $import[1], $importObjectList2)) && p('object') && e('0'); // 关闭看板1的导入功能 可选项plans cards +r($kanban->importTest($kanbanIDList[1], $import[0], $importObjectList1)) && p('object') && e('plans,releases,builds,executions,cards '); // 开启看板2的导入功能 可选项全部 +r($kanban->importTest($kanbanIDList[1], $import[0], $importObjectList2)) && p('object') && e('plans,cards'); // 开启看板2的导入功能 可选项plans cards +r($kanban->importTest($kanbanIDList[1], $import[1], $importObjectList1)) && p('object') && e('0'); // 关闭看板2的导入功能 可选项全部 +r($kanban->importTest($kanbanIDList[1], $import[1], $importObjectList2)) && p('object') && e('0'); // 关闭看板2的导入功能 可选项plans cards +r($kanban->importTest($kanbanIDList[2], $import[0], $importObjectList1)) && p('object') && e('plans,releases,builds,executions,cards '); // 开启看板3的导入功能 可选项全部 +r($kanban->importTest($kanbanIDList[2], $import[0], $importObjectList2)) && p('object') && e('plans,cards'); // 开启看板3的导入功能 可选项plans cards +r($kanban->importTest($kanbanIDList[2], $import[1], $importObjectList1)) && p('object') && e('0'); // 关闭看板3的导入功能 可选项全部 +r($kanban->importTest($kanbanIDList[2], $import[1], $importObjectList2)) && p('object') && e('0'); // 关闭看板3的导入功能 可选项plans cards +r($kanban->importTest($kanbanIDList[3], $import[0], $importObjectList1)) && p('object') && e('plans,releases,builds,executions,cards '); // 开启看板4的导入功能 可选项全部 +r($kanban->importTest($kanbanIDList[3], $import[0], $importObjectList2)) && p('object') && e('plans,cards'); // 开启看板4的导入功能 可选项plans cards +r($kanban->importTest($kanbanIDList[3], $import[1], $importObjectList1)) && p('object') && e('0'); // 关闭看板4的导入功能 可选项全部 +r($kanban->importTest($kanbanIDList[3], $import[1], $importObjectList2)) && p('object') && e('0'); // 关闭看板4的导入功能 可选项plans cards +r($kanban->importTest($kanbanIDList[4], $import[0], $importObjectList1)) && p('object') && e('plans,releases,builds,executions,cards '); // 开启看板5的导入功能 可选项全部 +r($kanban->importTest($kanbanIDList[4], $import[0], $importObjectList2)) && p('object') && e('plans,cards'); // 开启看板5的导入功能 可选项plans cards +r($kanban->importTest($kanbanIDList[4], $import[1], $importObjectList1)) && p('object') && e('0'); // 关闭看板5的导入功能 可选项全部 +r($kanban->importTest($kanbanIDList[4], $import[1], $importObjectList2)) && p('object') && e('0'); // 关闭看板5的导入功能 可选项plans cards +system("./ztest init"); diff --git a/test/model/kanban/importcard.php b/test/model/kanban/importcard.php new file mode 100755 index 0000000000..1ca2b4afe3 --- /dev/null +++ b/test/model/kanban/importcard.php @@ -0,0 +1,34 @@ +#!/usr/bin/env php +importCard(); +cid=1 +pid=1 + +*/ + +$cards1 = array('72', '73', '74'); +$cards2 = array('75', '76', '77'); +$cards3 = array('82', '83', '84'); +$cards4 = array('85', '86', '87'); +$cards5 = array('95', '96', '97'); + +$targetLaneIDList = array('1', '2', '3', '4', '5'); +$kanbanIDList = array('1', '2', '3', '4', '5'); +$regionIDList = array('1', '2', '3', '4', '5'); +$groupIDList = array('1', '2', '3', '4', '5'); +$columnIDList = array('1', '5', '9', '13', '17'); + +$kanban = new kanbanTest(); + +r($kanban->importCardTest($kanbanIDList[0], $regionIDList[0], $groupIDList[0], $columnIDList[0], $cards1, $targetLaneIDList[0])) && p('cards') && e(',72,73,74,1,2,801,'); // 测试导入卡片72 73 74到column 1 +r($kanban->importCardTest($kanbanIDList[1], $regionIDList[1], $groupIDList[1], $columnIDList[1], $cards2, $targetLaneIDList[1])) && p('cards') && e(',75,76,77,9,10,809,'); // 测试导入卡片75 77 77到column 5 +r($kanban->importCardTest($kanbanIDList[2], $regionIDList[2], $groupIDList[2], $columnIDList[2], $cards3, $targetLaneIDList[2])) && p('cards') && e(',82,83,84,17,18,817,');// 测试导入卡片72 73 74到column 9 +r($kanban->importCardTest($kanbanIDList[3], $regionIDList[3], $groupIDList[3], $columnIDList[3], $cards4, $targetLaneIDList[3])) && p('cards') && e(',85,86,87,25,26,825,');// 测试导入卡片75 77 77到column 13 +r($kanban->importCardTest($kanbanIDList[4], $regionIDList[4], $groupIDList[4], $columnIDList[4], $cards5, $targetLaneIDList[4])) && p('cards') && e(',95,96,97,33,34,833,');// 测试导入卡片72 73 74到column 17 +system("./ztest init"); diff --git a/test/model/kanban/importobject.php b/test/model/kanban/importobject.php new file mode 100755 index 0000000000..12566f9574 --- /dev/null +++ b/test/model/kanban/importobject.php @@ -0,0 +1,38 @@ +#!/usr/bin/env php +importObject(); +cid=1 +pid=1 + +*/ +$productplans = array('72', '73', '74'); +$releases = array('75', '76', '77'); +$executions = array('82', '83', '84'); +$builds = array('85', '86', '87'); + +$targetLaneIDList = array('1', '2', '3', '4', '5'); +$kanbanIDList = array('1', '2', '3', '4', '5'); +$regionIDList = array('1', '2', '3', '4', '5'); +$groupIDList = array('1', '2', '3', '4', '5'); +$columnIDList = array('1', '5', '9', '13', '17'); + +$param1 = array('productplans' => $productplans, 'targetLane' => $targetLaneIDList[0]); +$param2 = array('releases' => $releases, 'targetLane' => $targetLaneIDList[1]); +$param3 = array('executions' => $executions, 'targetLane' => $targetLaneIDList[2]); +$param4 = array('builds' => $builds, 'targetLane' => $targetLaneIDList[3]); + +$objectType = array('productplan', 'release', 'execution', 'build'); + +$kanban = new kanbanTest(); + +r($kanban->importObjectTest($kanbanIDList[0], $regionIDList[0], $groupIDList[0], $columnIDList[0], $objectType[0], $param1)) && p('cards') && e(',1001,1002,1003,1,2,801,'); // 测试导入卡片72 73 74到column 1 +r($kanban->importObjectTest($kanbanIDList[1], $regionIDList[1], $groupIDList[1], $columnIDList[1], $objectType[1], $param2)) && p('cards') && e(',1004,1005,1006,9,10,809,'); // 测试导入卡片75 77 77到column 5 +r($kanban->importObjectTest($kanbanIDList[2], $regionIDList[2], $groupIDList[2], $columnIDList[2], $objectType[2], $param3)) && p('cards') && e(',1007,1008,1009,17,18,817,');// 测试导入卡片72 73 74到column 9 +r($kanban->importObjectTest($kanbanIDList[3], $regionIDList[3], $groupIDList[3], $columnIDList[3], $objectType[3], $param4)) && p('cards') && e(',1010,1011,1012,25,26,825,');// 测试导入卡片75 77 77到column 13 +system("./ztest init"); diff --git a/test/model/kanban/isclickable.php b/test/model/kanban/isclickable.php new file mode 100755 index 0000000000..ab32f2f0f8 --- /dev/null +++ b/test/model/kanban/isclickable.php @@ -0,0 +1,45 @@ +#!/usr/bin/env php +isClickable(); +cid=1 +pid=1 + +*/ + +$objectType = array('Lane', 'Column'); +$objectID = array('1', '276', '403', '404', '405'); + +$actionList = array('sortlane', 'deletelane', 'splitcolumn', 'restorecolumn', 'archivecolumn', 'deletecolumn', 'sortColumn'); + +$kanban = new kanbanTest(); + +r($kanban->isClickableTest($objectType[0], $objectID[0], $actionList[0])) && p() && e('2'); // 测试lane1 是否可以排序 +r($kanban->isClickableTest($objectType[0], $objectID[0], $actionList[1])) && p() && e('2'); // 测试lane1 是否可以删除 +r($kanban->isClickableTest($objectType[0], $objectID[1], $actionList[0])) && p() && e('2'); // 测试lane276 是否可以排序 +r($kanban->isClickableTest($objectType[0], $objectID[1], $actionList[1])) && p() && e('1'); // 测试lane276 是否可以删除 +r($kanban->isClickableTest($objectType[1], $objectID[0], $actionList[2])) && p() && e('1'); // 测试column1 是否可以拆分子列 +r($kanban->isClickableTest($objectType[1], $objectID[0], $actionList[3])) && p() && e('2'); // 测试column1 是否可以还原 +r($kanban->isClickableTest($objectType[1], $objectID[0], $actionList[4])) && p() && e('1'); // 测试column1 是否可以归档 +r($kanban->isClickableTest($objectType[1], $objectID[0], $actionList[5])) && p() && e('1'); // 测试column1 是否可以删除 +r($kanban->isClickableTest($objectType[1], $objectID[0], $actionList[6])) && p() && e('1'); // 测试column1 是否可以排序 +r($kanban->isClickableTest($objectType[1], $objectID[2], $actionList[2])) && p() && e('2'); // 测试column403 是否可以拆分子列 +r($kanban->isClickableTest($objectType[1], $objectID[2], $actionList[3])) && p() && e('2'); // 测试column403 是否可以还原 +r($kanban->isClickableTest($objectType[1], $objectID[2], $actionList[4])) && p() && e('1'); // 测试column403 是否可以归档 +r($kanban->isClickableTest($objectType[1], $objectID[2], $actionList[5])) && p() && e('1'); // 测试column403 是否可以删除 +r($kanban->isClickableTest($objectType[1], $objectID[2], $actionList[6])) && p() && e('1'); // 测试column403 是否可以排序 +r($kanban->isClickableTest($objectType[1], $objectID[3], $actionList[2])) && p() && e('2'); // 测试column404 是否可以拆分子列 +r($kanban->isClickableTest($objectType[1], $objectID[3], $actionList[3])) && p() && e('2'); // 测试column404 是否可以还原 +r($kanban->isClickableTest($objectType[1], $objectID[3], $actionList[4])) && p() && e('1'); // 测试column404 是否可以归档 +r($kanban->isClickableTest($objectType[1], $objectID[3], $actionList[5])) && p() && e('1'); // 测试column404 是否可以删除 +r($kanban->isClickableTest($objectType[1], $objectID[3], $actionList[6])) && p() && e('1'); // 测试column404 是否可以排序 +r($kanban->isClickableTest($objectType[1], $objectID[4], $actionList[2])) && p() && e('2'); // 测试column405 是否可以拆分子列 +r($kanban->isClickableTest($objectType[1], $objectID[4], $actionList[3])) && p() && e('2'); // 测试column405 是否可以还原 +r($kanban->isClickableTest($objectType[1], $objectID[4], $actionList[4])) && p() && e('1'); // 测试column405 是否可以归档 +r($kanban->isClickableTest($objectType[1], $objectID[4], $actionList[5])) && p() && e('1'); // 测试column405 是否可以删除 +r($kanban->isClickableTest($objectType[1], $objectID[4], $actionList[6])) && p() && e('1'); // 测试column405 是否可以排序 diff --git a/test/model/kanban/movecard.php b/test/model/kanban/movecard.php new file mode 100755 index 0000000000..1b5c266ff5 --- /dev/null +++ b/test/model/kanban/movecard.php @@ -0,0 +1,27 @@ +#!/usr/bin/env php +moveCard(); +cid=1 +pid=1 + +*/ +$cardIDList = array('1', '2', '3', '4', '5', '6'); +$columnIDList = array('1', '2', '3'); + +$laneID = 1; +$kanbanID = 1; + +$kanban = new kanbanTest(); + +r($kanban->moveCardTest($cardIDList[0], $columnIDList[0], $columnIDList[1], $laneID, $laneID, $kanbanID)) && p('cards') && e(',3,4,803,1,'); // 将卡片1从泳道1 列1转移到泳道1 列2 +r($kanban->moveCardTest($cardIDList[1], $columnIDList[0], $columnIDList[1], $laneID, $laneID, $kanbanID)) && p('cards') && e(',3,4,803,1,2, '); // 将卡片2从泳道1 列1转移到泳道1 列2 +r($kanban->moveCardTest($cardIDList[2], $columnIDList[1], $columnIDList[2], $laneID, $laneID, $kanbanID)) && p('cards') && e(',5,6,805,3,'); // 将卡片3从泳道1 列2转移到泳道1 列3 +r($kanban->moveCardTest($cardIDList[3], $columnIDList[1], $columnIDList[2], $laneID, $laneID, $kanbanID)) && p('cards') && e(',5,6,805,3,4,'); // 将卡片4从泳道1 列2转移到泳道1 列3 +r($kanban->moveCardTest($cardIDList[4], $columnIDList[2], $columnIDList[0], $laneID, $laneID, $kanbanID)) && p('cards') && e(',801,5,'); // 将卡片5从泳道1 列3转移到泳道1 列1 +r($kanban->moveCardTest($cardIDList[5], $columnIDList[2], $columnIDList[0], $laneID, $laneID, $kanbanID)) && p('cards') && e(',801,5,6,'); // 将卡片6从泳道1 列3转移到泳道1 列1 diff --git a/test/model/program/computeprogress.php b/test/model/program/computeprogress.php new file mode 100644 index 0000000000..06f576510c --- /dev/null +++ b/test/model/program/computeprogress.php @@ -0,0 +1,45 @@ +#!/usr/bin/env php +loadModel('program'); +$task1 = new stdclass(); +$task1->consumed = 2; +$task1->left = 2; +$task1->estimate = 2; +$task1->status = 'active'; + +$task2 = new stdclass(); +$task2->consumed = 4; +$task2->left = 5; +$task2->estimate = 6; +$task2->status = 'active'; + +$task3 = new stdclass(); +$task3->consumed = 7; +$task3->left = 7; +$task3->estimate = 7; +$task3->status = 'closed'; + +$tasks[] = $task1; +$tasks[] = $task2; +$tasks[] = $task3; + +$projectTasks[1] = $tasks; + +$hours = $tester->program->computeProgress($projectTasks); + +r($hours) && p('1:totalConsumed') && e('13'); // 传入任务数组,返回计算后的总消耗 +r($hours) && p('1:totalEstimate') && e('15'); // 传入任务数组,返回计算后的总预计 +r($hours) && p('1:totalLeft') && e('7'); // 传入任务数组,返回计算后的总剩余 +r($hours) && p('1:totalReal') && e('20'); // 传入任务数组,返回计算后的总工时 +r($hours) && p('1:progress') && e('65'); // 传入任务数组,返回计算后的进度 diff --git a/test/model/program/create.php b/test/model/program/create.php index d945c2ca03..f6a8015851 100755 --- a/test/model/program/create.php +++ b/test/model/program/create.php @@ -18,14 +18,45 @@ pid=1 */ -$program = new Program('admin'); +$program = new programTest(); + +$data = array( + 'parent' => 0, + 'name' => '测试新增项目集一', + 'budget' => '', + 'budgetUnit' => 'CNY', + 'begin' => '2022-01-12', + 'end' => '2022-02-12', + 'desc' => '测试项目集描述', + 'acl' => 'private', + 'whitelist' => '' +); + +$normalProgram = $data; + +$emptyNameProgram = $data; +$emptyNameProgram['name'] = ''; + +$emptyBeginProgram = $data; +$emptyBeginProgram['begin'] = ''; + +$emptyEndProgram = $data; +$emptyEndProgram['end'] = ''; + +$beginGtEndProgram = $data; +$beginGtEndProgram['end'] = '2022-01-10'; + +$moreThanParent = $data; +$moreThanParent['parent'] = '1'; +$moreThanParent['begin'] = '2018-01-01'; +$moreThanParent['end'] = '2022-02-10'; $add_itemset = array('1', '2', '3', '4', '5', '6'); -r($program->createData($add_itemset[0])) && p('name') && e('测试新增项目集一'); // 创建新项目集 -r($program->createData($add_itemset[1])) && p('message[name]:0') && e('『项目集名称』不能为空。'); // 项目集名称为空时 -r($program->createData($add_itemset[2])) && p('message[begin]:0') && e('『计划开始』不能为空。'); // 项目集的开始时间为空 -r($program->createData($add_itemset[3])) && p('message[end]:0') && e('『计划完成』不能为空。'); // 项目集的完成时间为空 -r($program->createData($add_itemset[4])) && p('message[end]:0') && e('『计划完成』应当大于『2022-01-12』。'); // 项目集的计划完成时间大于计划开始时间 -r($program->createData($add_itemset[5])) && p('message:begin;message:end') && e('父项目集的开始日期:2022-01-16,开始日期不能小于父项目集的开始日期'); // 项目集的完成日期大于父项目集的完成日期(需要实时更新日期) -system("./ztest init"); \ No newline at end of file +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('『计划开始』不能为空。'); // 项目集的开始时间为空 +r($program->create($emptyEndProgram)) && p('message[end]:0') && e('『计划完成』不能为空。'); // 项目集的完成时间为空 +r($program->create($beginGtEndProgram)) && p('message[end]:0') && e('『计划完成』应当大于『2022-01-12』。'); // 项目集的计划完成时间大于计划开始时间 +r($program->create($moreThanParent)) && p('message:begin;message:end') && e('父项目集的开始日期:2022-01-16,开始日期不能小于父项目集的开始日期'); // 项目集的完成日期大于父项目集的完成日期(需要实时更新日期) +system("./ztest init"); diff --git a/test/model/program/getbyid.php b/test/model/program/getbyid.php index 88506ecbde..4918252f70 100755 --- a/test/model/program/getbyid.php +++ b/test/model/program/getbyid.php @@ -1,7 +1,6 @@ #!/usr/bin/env php loadModel('program'); +$program1 = $tester->program->getById(1); +$program2 = $tester->program->getById(1000); -$t_verification = array('1', '1000'); - -r($getIdName->getById($t_verification[0])) && p('name') && e('项目集1'); // 通过id字段获取id=1的项目集并验证它的name。 -r($getIdName->getById($t_verification[1])) && p('message') && e('Not Found'); // 通过id字段获取id=1000的项目集并验证它的name。 \ No newline at end of file +r($program1) && p('name') && e('项目集1'); // 通过id字段获取id=1的项目集并验证它的name。 +r($program2) && p() && e('0'); // 通过id字段获取id=1000的项目集,返回空 diff --git a/test/model/program/getinvolvedprograms.php b/test/model/program/getinvolvedprograms.php index 60b35606a5..f3a3fea74e 100755 --- a/test/model/program/getinvolvedprograms.php +++ b/test/model/program/getinvolvedprograms.php @@ -1,7 +1,7 @@ #!/usr/bin/env php loadModel('program'); +$adminPrograms = $tester->program->getInvolvedPrograms('admin'); +$test2Programs = $tester->program->getInvolvedPrograms('test2'); -$t_sulist = array('admin', 'test2'); - -r($listOfId->getInvolvedPrograms($t_sulist[0])) && p('1') && e('1'); // 查看用户admin可以看到的项目和执行id列表 -r($listOfId->getInvolvedPrograms($t_sulist[1])) && p('1') && e('1'); // 查看用户test2可以看到的项目和执行id列表 \ No newline at end of file +r(count($adminPrograms)) && p() && e('2'); // 获取admin参与的项目集数量 +r(count($test2Programs)) && p() && e('1'); // 获取test2参与的项目集数量 +r($adminPrograms) && p('10') && e('10'); // 获取admin参与的项目集ID +r($test2Programs) && p('1') && e('1'); // 获取test2参与的项目集ID diff --git a/test/model/program/getkanbangroup.php b/test/model/program/getkanbangroup.php index 0078c871fb..a615bf6718 100755 --- a/test/model/program/getkanbangroup.php +++ b/test/model/program/getkanbangroup.php @@ -1,7 +1,7 @@ #!/usr/bin/env php loadModel('program'); -$program = new Program($t_getKanban[0]); +$kanbanGroup = $tester->program->getKanbanGroup(); -r($program->getKanbanGroup()[$t_getKanban[1]]) && p('0:name') && e(''); //查看当前用户看板的所属项目 -r($program->getKanbanGroup()[$t_getKanban[2]]) && p('0:name') && e('项目集1'); //查看当前用户看板的其它项目 \ No newline at end of file +r(count($kanbanGroup['my'])) && p('') && e('2'); //查看当前用户负责的项目集看板数量 +r(count($kanbanGroup['others'])) && p('') && e('8'); //查看当前用户其他的项目集看板数量 +r($kanbanGroup['others']) && p('0:name') && e('项目集2'); //查看当前用户其他的项目集看板详情 diff --git a/test/model/program/getlist.php b/test/model/program/getlist.php index 8ff948f9eb..443127d20d 100755 --- a/test/model/program/getlist.php +++ b/test/model/program/getlist.php @@ -17,14 +17,21 @@ pid=1 */ -$program = new Program('admin'); +global $tester; +$program = new programTest(); +$tester->app->loadClass('pager', $static = true); +$pager = new pager(0, 10, 1); -$t_checkout = array('all', 'wait', 'doing', 'suspended', 'closed', 'name_desc', 'id_asc'); +$allPorgrams = $program->getList('all'); +$pagerPrograms = $program->getList('all', 'id_asc', $pager); +$closedPrograms = $program->getList('closed'); +$suspendedPrograms = $program->getList('closed'); +$namedescPrograms = $program->getList('all', 'name_desc'); +$idascPrograms = $program->getList('all', 'id_asc'); -r($program->getListByStatus($t_checkout[0])) && p() && e('100'); // 查看所有项目和项目集的个数 -r($program->getListByStatus($t_checkout[1])) && p() && e('34'); // 查看所有'wait'的项目和项目集的个数 -r($program->getListByStatus($t_checkout[2])) && p() && e('44'); // 查看所有'doing'的项目和项目集的个数 -r($program->getListByStatus($t_checkout[3])) && p() && e('11'); // 查看所有'suspended'的项目和项目集的个数 -r($program->getListByStatus($t_checkout[4])) && p() && e('11'); // 查看所有'closed'的项目和项目集的个数 -r($program->getListByOrder($t_checkout[5])) && p() && e(1); // 按照项目和项目集名称倒序获取项目列表 -r($program->getListByOrder($t_checkout[6])) && p() && e(1); // 按照ID正序获取项目和项目集列表 \ No newline at end of file +r(count($allPorgrams)) && p() && e('120'); // 查看所有项目和项目集的个数 +r(count($pagerPrograms)) && p() && e('10'); // 查看分页后项目集和项目的个数 +r(count($closedPrograms)) && p() && e('11'); // 查看所有'closed'的项目和项目集的个数 +r(count($suspendedPrograms)) && p() && e('11'); // 查看所有'suspended'的项目和项目集的个数 +r(key($namedescPrograms)) && p() && e('9'); // 按照项目和项目集名称倒序获取第一个ID +r(key($idascPrograms)) && p() && e('1'); // 按照ID正序获取项目和项目集列表第一个ID diff --git a/test/model/program/getpairs.php b/test/model/program/getpairs.php index dc08c29609..2ed5e63d28 100755 --- a/test/model/program/getpairs.php +++ b/test/model/program/getpairs.php @@ -1,7 +1,6 @@ #!/usr/bin/env php loadModel('program'); +$programs1 = $tester->program->getPairs(); +$programs2 = $tester->program->getPairs('true'); -r($noItemsets->getCount()) && p() && e('10'); // 获取项目集个数 -r($noItemsets->getPairs()) && p('1') && e('项目集1'); // 获取项目集id/name 的关联数组 -r($noItemsets->getPairs()) && p('9') && e('项目集9'); // 获取项目集id/name 的关联数组 -r($noItemsets->getPairs()) && p('11') && e(''); // 获取不存在的项目集id/name 的关联数组 \ No newline at end of file +r(count($programs1)) && p() && e('6'); // 获取项目集个数 +r(count($programs2)) && p() && e('10'); // 获取项目集个数 +r($programs1) && p('9') && e('项目集9'); // 获取项目集id为9的名称 +r($programs2) && p('11') && e(''); // 获取不存在的项目集 diff --git a/test/model/program/getpairsbylist.php b/test/model/program/getpairsbylist.php index c789c317d7..0619b837dc 100755 --- a/test/model/program/getpairsbylist.php +++ b/test/model/program/getpairsbylist.php @@ -19,14 +19,14 @@ pid=1 */ -$itemsetsName = new Program('admin'); +$program = new programTest(); -$t_getProName = array('1', '1,2,3', array(1), array(1,2,3), '', '0', '11'); +$programIdList = array('1', '1,2,3', array(1), array(1,2,3), '', '0', '11'); -r($itemsetsName->getPairsByList($t_getProName[0])) && p('1') && e('项目集1'); // 通过字符串'1'获取项目集名称 -r($itemsetsName->getPairsByList($t_getProName[1])) && p('1,2,3') && e('项目集1,项目集2,项目集3'); // 通过字符串'1,2,3'获取项目集名称 -r($itemsetsName->getPairsByList($t_getProName[2])) && p('1') && e('项目集1'); //通过数组array(1)获取项目集名称 -r($itemsetsName->getPairsByList($t_getProName[3])) && p('1,2,3') && e('项目集1,项目集2,项目集3'); //通过数组array(1,2,3)获取项目集名称 -r($itemsetsName->getPairsByList($t_getProName[4])) && p('message') && e('Not Found'); // 通过id为空获取项目集名称 -r($itemsetsName->getPairsByList($t_getProName[5])) && p('message') && e('Not Found'); // 通过id=0获取项目集名称 -r($itemsetsName->getPairsByList($t_getProName[6])) && p('message') && e('Not Found'); // 通过id=11获取项目集名称 \ No newline at end of file +r($program->getPairsByList($programIdList[0])) && p('1') && e('项目集1'); // 通过字符串'1'获取项目集名称 +r($program->getPairsByList($programIdList[1])) && p('1,2,3') && e('项目集1,项目集2,项目集3'); // 通过字符串'1,2,3'获取项目集名称 +r($program->getPairsByList($programIdList[2])) && p('1') && e('项目集1'); // 通过数组array(1)获取项目集名称 +r($program->getPairsByList($programIdList[3])) && p('1,2,3') && e('项目集1,项目集2,项目集3'); // 通过数组array(1,2,3)获取项目集名称 +r($program->getPairsByList($programIdList[4])) && p('message') && e('Not Found'); // 通过id为空获取项目集名称 +r($program->getPairsByList($programIdList[5])) && p('message') && e('Not Found'); // 通过id=0获取项目集名称 +r($program->getPairsByList($programIdList[6])) && p('message') && e('Not Found'); // 通过id=11获取项目集名称 diff --git a/test/model/program/getproductpairs.php b/test/model/program/getproductpairs.php index 3e46a8453b..856e041db4 100755 --- a/test/model/program/getproductpairs.php +++ b/test/model/program/getproductpairs.php @@ -1,7 +1,6 @@ #!/usr/bin/env php loadModel('program'); -$t_program = array('1', '1000', 'all', 'all', '1', 'assign', 'all', '1', 'assign', 'noclosed'); +$products1 = $tester->program->getProductPairs(1, 'assign', 'all'); +$products2 = $tester->program->getProductPairs(1, 'assign', 'noclosed'); -r($getItemsets->getProductPairsByID($t_program[0])) && p('24') && e('已关闭的正常产品24'); //根据项目或项目集ID获取关联产品详情 -r($getItemsets->getProductPairsByID($t_program[1])) && p('message') && e('Not Found'); //获取不存在的项目或项目集 -r($getItemsets->getProductPairsByMod($t_program[2])) && p('1') && e('正常产品1'); //根据项目或项目集指派情况获取关联产品详情 -r($getItemsets->getProductPairsByStatus($t_program[3])) && p('90') && e('多平台产品90'); //根据项目或项目集状态获取关联产品详情 -r($getItemsets->getCount2($t_program[4], $t_program[5], $t_program[6])) && p() && e('9'); //查看ID=1,有指派,所有状态的关联产品数量 -r($getItemsets->getCount2($t_program[7], $t_program[8], $t_program[9])) && p() && e('5'); //查看ID=1,有指派,未关闭的关联产品数量 \ No newline at end of file +r(count($products1)) && p() && e('6'); //获取项目集1下的所有产品数量 +r($products1) && p('24') && e('已关闭的正常产品24'); //根据项目集ID获取关联产品名字 + +r(count($products2)) && p() && e('4'); //获取项目集1下的未关闭的产品数量 +r($products2) && p('24') && e('已关闭的正常产品24'); //根据项目或项目集ID获取关联产品详情 diff --git a/test/model/program/getprojectlist.php b/test/model/program/getprojectlist.php index 2247113605..72acf45f83 100755 --- a/test/model/program/getprojectlist.php +++ b/test/model/program/getprojectlist.php @@ -1,7 +1,7 @@ #!/usr/bin/env php > 90 -查看当前项目集下所有状态为进行中的项目的个数 >> 44 -根据name倒序查看所有项目 >> 1 -根据id倒序查看所有项目的个数 >> 1 -查看所有项目(包含所属项目集名称) >> 项目1 -查看当前用户参与的项目 >> 项目1 -查看当前用户参与的项目的个数 >> 1 - */ -$countProjects = new Program('admin'); +global $tester; +$tester->loadModel('program'); -$t_proNumber = array(0, 'doing', 'name_desc', 'id_desc', 0, 1, 1, 'count'); +$allProjects = $tester->program->getProjectList(0); +$undoneProjects = $tester->program->getProjectList(0, 'undone'); +$withProgramProjects = $tester->program->getProjectList(0, 'undone', 0, 'id_desc', null, 1); +$involvedProjects = $tester->program->getProjectList(0, 'undone', 0, 'id_desc', null, 1, true); -r($countProjects->getListByProgramID($t_proNumber[0])) && p() && e('90'); // 查看当前项目集下所有项目的个数 -r($countProjects->getListByStatusNo($t_proNumber[1])) && p() && e('44'); // 查看当前项目集下所有状态为进行中的项目的个数 -r($countProjects->getListByOrderId($t_proNumber[2])) && p() && e('1'); // 根据name倒序查看所有项目 -r($countProjects->getListByOrderId($t_proNumber[3])) && p() && e('1'); // 根据id倒序查看所有项目的个数 -r($countProjects->getListAddProgramTitle($t_proNumber[4])) && p('11:name') && e('项目1'); // 查看所有项目(包含所属项目集名称) -r($countProjects->getListByInvolved($t_proNumber[5])) && p('11:name') && e('项目1'); // 查看当前用户参与的项目 -r($countProjects->getListByInvolved($t_proNumber[6], $t_proNumber[7])) && p() && e('1'); // 查看当前用户参与的项目的个数 \ No newline at end of file +r(count($allProjects)) && p() && e('110'); // 获取所有项目列表数量 +r(count($undoneProjects)) && p() && e('88'); // 获取未完成项目列表数量 +r(count($withProgramProjects)) && p() && e('88'); // 带项目集名称的项目列表数量 +r(count($involvedProjects)) && p() && e('1'); // 获取我参与的项目列表数量 +r($allProjects) && p('12:name') && e('项目2'); // 不带项目集名称的项目名称 +r($withProgramProjects) && p('12:name') && e('项目集2/项目2'); // 带项目集名称的项目名称 +r($involvedProjects) && p('11:name') && e('项目集1/项目1'); // 我参与的项目的名称 diff --git a/test/model/program/getstakeholders.php b/test/model/program/getstakeholders.php index 2e25d25879..705621c1a7 100755 --- a/test/model/program/getstakeholders.php +++ b/test/model/program/getstakeholders.php @@ -1,7 +1,7 @@ #!/usr/bin/env php loadModel('program'); +$stakeholders1 = $tester->program->getStakeholders(2, 'id_desc'); +$stakeholders2 = $tester->program->getStakeholders(2, 'id_asc'); -$t_Stakeholder = array(2, 'id_desc', 'id_asc', 2); - -//var_dump($program->getByID1($t_Stakeholder[0]));die; -r($program->getByID1($t_Stakeholder[0])) && p('0:realname') && e('测试17'); // 查看项目集2的干系人信息 -r($program->getByOrder($t_Stakeholder[1])) && p() && e('1'); // 根据干系人id倒序排序 -r($program->getByOrder($t_Stakeholder[2])) && p() && e('1'); // 根据干系人id正序排序 -r($program->getCount5($t_Stakeholder[3])) && p() && e('3'); // 查看项目集2的干系人个数 \ No newline at end of file +r(count($stakeholders1)) && p() && e('3'); // 获取干系人数量 +r(count($stakeholders2)) && p() && e('3'); // 获取干系人数量 +r($stakeholders1) && p('0:realname') && e('测试17'); // id倒序排,获取第一个干系人真实姓名 +r($stakeholders2) && p('0:realname') && e('测试19'); // id正序排,获取第一个干系人真实姓名 diff --git a/test/model/program/getstakeholdersbyprograms.php b/test/model/program/getstakeholdersbyprograms.php index 8eb7e8801f..c095dfdd73 100755 --- a/test/model/program/getstakeholdersbyprograms.php +++ b/test/model/program/getstakeholdersbyprograms.php @@ -1,7 +1,7 @@ #!/usr/bin/env php loadModel('program'); -$Stakeholder = array('2', '2,3', '2', '2,3'); - -r($t->getByPrograms($Stakeholder[0])) && p('0:account') && e('user19'); // 获取项目集2的干系人名单 -r($t->getByPrograms($Stakeholder[0])) && p('1:account') && e('user18'); // 获取项目集2的干系人名单 -r($t->getByPrograms($Stakeholder[0])) && p('2:account') && e('user17'); // 获取项目集2的干系人名单 -r($t->getByPrograms($Stakeholder[1])) && p('0:account') && e('user19'); // 获取项目集2和项目集3的干系人名单 -r($t->getByPrograms($Stakeholder[1])) && p('1:account') && e('user18'); // 获取项目集2和项目集3的干系人名单 -r($t->getByPrograms($Stakeholder[1])) && p('2:account') && e('user17'); // 获取项目集2和项目集3的干系人名单... -r($t->getCount4($Stakeholder[2])) && p() && e('3'); // 获取项目集2的干系人个数 -r($t->getCount4($Stakeholder[3])) && p() && e('6'); // 获取项目集2和项目集3的干系人个数 \ No newline at end of file +r($tester->program->getStakeholdersByPrograms('2')) && p('0:account') && e('user19'); // 获取项目集2的干系人名单 +r($tester->program->getStakeholdersByPrograms('2')) && p('1:account') && e('user18'); // 获取项目集2的干系人名单 +r($tester->program->getStakeholdersByPrograms('2')) && p('2:account') && e('user17'); // 获取项目集2的干系人名单 +r($tester->program->getStakeholdersByPrograms('2,3')) && p('0:account') && e('user19'); // 获取项目集2和项目集3的干系人名单 +r($tester->program->getStakeholdersByPrograms('2,3')) && p('1:account') && e('user18'); // 获取项目集2和项目集3的干系人名单 +r($tester->program->getStakeholdersByPrograms('2,3')) && p('2:account') && e('user17'); // 获取项目集2和项目集3的干系人名单 +r(count($tester->program->getStakeholdersByPrograms('2'))) && p('') && e('3'); // 获取项目集2的干系人个数 +r(count($tester->program->getStakeholdersByPrograms('2,3'))) && p('') && e('6'); // 获取项目集2、3的干系人个数 diff --git a/test/model/story/activate.php b/test/model/story/activate.php index ffed4ca7be..f3384ad04a 100644 --- a/test/model/story/activate.php +++ b/test/model/story/activate.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php getByReviewBy(); -cid=1 -pid=1 - - - -*/ - -$story = new storyTest(); - -r() && p() && e(); \ No newline at end of file diff --git a/test/model/story/getbysearch.php b/test/model/story/getbysearch.php index 79035388ee..63d9eb5c28 100644 --- a/test/model/story/getbysearch.php +++ b/test/model/story/getbysearch.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php loadModel('story'); +$tester->loadModel('report'); $data = $tester->story->getDataOfStorysPerClosedReason(); -r(count($data)) && p() && e('3'); // 按照需求关闭原因分组,获取分组后的需求数量 -r($data) && p('1:name,value') && e('1,80'); // 按照需求关闭原因分组,获取各个关闭原因下的需求数量,查看admin下的数据 -r($data) && p('2:name,value') && e('0,350'); // 按照需求关闭原因分组,获取各个关闭原因下的需求数量,查看admin下的数据 +r(count($data)) && p() && e('8'); // 按照需求关闭原因分组,获取分组后的需求数量 +r($data) && p('willnotdo:name,value') && e('不做,12'); // 按照需求关闭原因分组,获取各个关闭原因下的需求数量,查看willnotdo的数据 +r($data) && p('bydesign:name,value') && e('设计如此,12'); // 按照需求关闭原因分组,获取各个关闭原因下的需求数量,查看bydesign的数据 +r($data) && p('cancel:name,value') && e('已取消,11'); // 按照需求关闭原因分组,获取各个关闭原因下的需求数量,查看cancel的数据 diff --git a/test/model/story/getdataofstorysperestimate.php b/test/model/story/getdataofstorysperestimate.php index b89c6c83eb..76bb9118a6 100644 --- a/test/model/story/getdataofstorysperestimate.php +++ b/test/model/story/getdataofstorysperestimate.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php loadModel('story'); +$storyInfo = $tester->story->getEstimateInfo(2); -r() && p() && e(); \ No newline at end of file +r() && p() && e(); diff --git a/test/model/story/getestimaterounds.php b/test/model/story/getestimaterounds.php index 8c7105ec82..824a3bb860 100644 --- a/test/model/story/getestimaterounds.php +++ b/test/model/story/getestimaterounds.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php getRelation(); -cid=1 -pid=1 - - - -*/ - -$story = new storyTest(); - -r() && p() && e(); \ No newline at end of file diff --git a/test/model/story/getrequierements.php b/test/model/story/getrequierements.php index f74586741a..d11cdb0912 100644 --- a/test/model/story/getrequierements.php +++ b/test/model/story/getrequierements.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php loadModel('story')->getStoryRelation(25, 'requirement'); +$relations2 = $tester->story->getStoryRelation(26, 'story'); -r() && p() && e(); \ No newline at end of file +r(count($relations1)) && p() && e('1'); // 获取用户需求25关联的软件需求数量 +r(count($relations2)) && p() && e('1'); // 获取软件需求26关联的用户需求数量 +r($relations1[0]) && p('title,type,status') && e('软件需求26,story,active'); // 获取用户需求25关联的软件需求详情 +r($relations2[0]) && p('title,type,status') && e('用户需求25,requirement,draft'); // 获取软件需求26关联的用户需求详情 diff --git a/test/model/story/getstoryrelationcounts.php b/test/model/story/getstoryrelationcounts.php index 417adef12d..d9984eff82 100644 --- a/test/model/story/getstoryrelationcounts.php +++ b/test/model/story/getstoryrelationcounts.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php loadModel('story'); -r() && p() && e(); \ No newline at end of file +$beforeRelations = $tester->story->getRelation(1, 'requirement'); + +$storyIdList = array(300, 302, 304, 306); +$_POST['stories'] = $storyIdList; +$tester->story->linkStories(1); + +$afterRelations = $tester->story->getRelation(1, 'requirement'); + +r(count($beforeRelations)) && p() && e('0'); // 查看关联前的关联关系数量 +r(count($afterRelations)) && p() && e('4'); // 查看关联后的关联关系数量 +r($afterRelations) && p('300,302,304,306') && e('软件需求300,软件需求302,软件需求304,软件需求306'); // 查看关联后的需求详情 +system("./ztest init"); diff --git a/test/model/story/linkstory.php b/test/model/story/linkstory.php index b42c70e4f5..7e9ec5fcef 100644 --- a/test/model/story/linkstory.php +++ b/test/model/story/linkstory.php @@ -1,6 +1,6 @@ +#!/usr/bin/env php loadModel('story'); +$tester->story->linkStory(11, 1, 300); +$tester->story->linkStory(12, 1, 302); +$tester->story->linkStory(13, 1, 304); -r() && p() && e(); \ No newline at end of file +$stories1 = $tester->story->getExecutionStories(11); +$stories2 = $tester->story->getExecutionStories(12); +$stories3 = $tester->story->getExecutionStories(13); + +r(count($stories1)) && p() && e('5'); // 获取关联需求后的执行下的需求数量 +r(count($stories2)) && p() && e('5'); // 获取关联需求后的执行下的需求数量 +r(count($stories3)) && p() && e('5'); // 获取关联需求后的执行下的需求数量 +r($stories1) && p('300:title,type,stage') && e('软件需求300,story,closed'); // 获取关联需求后的执行下的需求详情 +r($stories2) && p('302:title,type,stage') && e('软件需求302,story,planned'); // 获取关联需求后的执行下的需求详情 +r($stories3) && p('304:title,type,stage') && e('软件需求304,story,developing'); // 获取关联需求后的执行下的需求详情 +system("./ztest init"); diff --git a/test/model/story/mergechartoption.php b/test/model/story/mergechartoption.php index bcb5e464af..966a76bdca 100644 --- a/test/model/story/mergechartoption.php +++ b/test/model/story/mergechartoption.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php recordReviewAction(); -cid=1 -pid=1 - - - -*/ - -$story = new storyTest(); - -r() && p() && e(); \ No newline at end of file diff --git a/test/model/story/replaceurlang.php b/test/model/story/replaceurlang.php deleted file mode 100644 index 8a242392a8..0000000000 --- a/test/model/story/replaceurlang.php +++ /dev/null @@ -1,18 +0,0 @@ -replaceURLang(); -cid=1 -pid=1 - - - -*/ - -$story = new storyTest(); - -r() && p() && e(); \ No newline at end of file diff --git a/test/model/story/review.php b/test/model/story/review.php index 689aca7bb7..af94491bbb 100644 --- a/test/model/story/review.php +++ b/test/model/story/review.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php reviewTest(304, $reject); r($review1[0]) && p() && e('必须选择评审意见'); // 评审ID为2的需求,不传入评审意见,给出没有选择评审意见的提示 r($review2) && p('status') && e('active'); // 评审一个草稿的需求,传入评审意见为通过,状态变为激活 r($review3) && p('status') && e('closed'); // 评审一个草稿的需求,传入评审意见为拒绝,状态变为关闭 -system("./ztest init"); \ No newline at end of file +system("./ztest init"); diff --git a/test/model/story/saveestimateinfo.php b/test/model/story/saveestimateinfo.php index 650780822d..b6a68ee423 100644 --- a/test/model/story/saveestimateinfo.php +++ b/test/model/story/saveestimateinfo.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php loadModel('story'); +$reviewList1 = array('pass', 'pass', 'reject'); +$reviewList2 = array('pass', 'pass', 'pass'); +$reviewList3 = array('pass', 'reject', 'reject'); +$reviewList4 = array('reject', 'reject', 'reject'); -r() && p() && e(); \ No newline at end of file +$result1 = $tester->story->setStatusByReviewRules($reviewList1); +$result2 = $tester->story->setStatusByReviewRules($reviewList2); +$result3 = $tester->story->setStatusByReviewRules($reviewList3); +$result4 = $tester->story->setStatusByReviewRules($reviewList4); + +r($result1) && p() && e('0'); // 传入两个通过一个拒绝,查看返回结果 +r($result2) && p() && e('active'); // 传入全部通过,查看返回结果 +r($result3) && p() && e('0'); // 传入两个拒绝一个通过,查看返回结果 +r($result4) && p() && e('closed'); // 传入三个拒绝,查看返回结果 diff --git a/test/model/story/sortstoriesofplan.php b/test/model/story/sortstoriesofplan.php index d99b898e41..cb3d036321 100644 --- a/test/model/story/sortstoriesofplan.php +++ b/test/model/story/sortstoriesofplan.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php loadModel('story'); +$beforeStories = $tester->story->getPlanStories(1); +$tester->story->sortStoriesOfPlan(1, array(3, 1, 4, 2)); +$afterStories = $tester->story->getPlanStories(1); -r() && p() && e(); \ No newline at end of file + +r($beforeStories) && p('1:order') && e('5'); //获取更新排序之前的需求在计划下的排序 +r($beforeStories) && p('2:order') && e('10'); //获取更新排序之前的需求在计划下的排序 +r($beforeStories) && p('3:order') && e('15'); //获取更新排序之前的需求在计划下的排序 +r($beforeStories) && p('4:order') && e('20'); //获取更新排序之前的需求在计划下的排序 +r($afterStories) && p('1:order') && e('2'); //获取更新排序之后的需求在计划下的排序 +r($afterStories) && p('2:order') && e('4'); //获取更新排序之后的需求在计划下的排序 +r($afterStories) && p('3:order') && e('1'); //获取更新排序之后的需求在计划下的排序 +r($afterStories) && p('4:order') && e('3'); //获取更新排序之后的需求在计划下的排序 +system("./ztest init"); diff --git a/test/model/story/subdivide.php b/test/model/story/subdivide.php index 8e09bd9bb0..f168f3cfd2 100644 --- a/test/model/story/subdivide.php +++ b/test/model/story/subdivide.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php superReview(); -cid=1 -pid=1 - - - -*/ - -$story = new storyTest(); - -r() && p() && e(); \ No newline at end of file diff --git a/test/model/story/unlinkstory.php b/test/model/story/unlinkstory.php index 4ee546fe14..55db3c62bc 100644 --- a/test/model/story/unlinkstory.php +++ b/test/model/story/unlinkstory.php @@ -1,6 +1,6 @@ +#!/usr/bin/env php loadModel('story'); -r() && p() && e(); \ No newline at end of file +$beforeRelation = $tester->story->getRelation(25, 'requirement'); +$tester->story->unlinkStory(25, 26); +$afterRelation = $tester->story->getRelation(25, 'requirement'); + +r(count($beforeRelation)) && p() && e('1'); //删除用户需求25的关联关系之前,获取关联关系数量 +r(count($afterRelation)) && p() && e('0'); //删除用户需求25的关联关系之后,获取关联关系数量 +system("./ztest init"); diff --git a/test/model/story/update.php b/test/model/story/update.php index 07f614dbe0..5f6be933e4 100644 --- a/test/model/story/update.php +++ b/test/model/story/update.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php updateStoryByReview(); -cid=1 -pid=1 - - - -*/ - -$story = new storyTest(); - -r() && p() && e(); \ No newline at end of file diff --git a/test/model/story/updatestoryorderofplan.php b/test/model/story/updatestoryorderofplan.php index d2a81a4416..03fb247ca6 100644 --- a/test/model/story/updatestoryorderofplan.php +++ b/test/model/story/updatestoryorderofplan.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php