From 779c2a25cc7c4e2dc1a79a21dbe8ab45f6be1b28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B9=BF=E6=98=8E?= Date: Wed, 30 Mar 2022 13:47:17 +0800 Subject: [PATCH 1/3] * Finish story test. --- test/class/story.class.php | 180 ------------------ test/model/story/create.php | 2 +- .../story/getdataofstorysperclosedreason.php | 8 +- test/model/story/getestimateinfo.php | 7 +- test/model/story/getrelation.php | 18 -- test/model/story/getstoryrelation.php | 10 +- test/model/story/linkstories.php | 16 +- test/model/story/linkstory.php | 19 +- test/model/story/recordreviewaction.php | 18 -- test/model/story/review.php | 2 +- test/model/story/setstatusbyreviewrules.php | 17 +- test/model/story/sortstoriesofplan.php | 17 +- test/model/story/superreview.php | 18 -- test/model/story/unlinkstory.php | 12 +- test/model/story/updatestorybyreview.php | 18 -- 15 files changed, 87 insertions(+), 275 deletions(-) delete mode 100644 test/model/story/getrelation.php delete mode 100644 test/model/story/recordreviewaction.php delete mode 100644 test/model/story/superreview.php delete mode 100644 test/model/story/updatestorybyreview.php 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/story/create.php b/test/model/story/create.php index 1b176b11a7..252406f23b 100644 --- a/test/model/story/create.php +++ b/test/model/story/create.php @@ -47,4 +47,4 @@ r($result1[0]) && p() && e('『由谁评审』不能为 r($result2) && p('fromBug,stage,product') && e('0,projected,1'); //不勾选由谁评审传入评审人的情况,正常插入 r($result3) && p('title,fromBug,stage') && e('测试需求3,2,wait'); //勾选由谁评审,不传入executionID的情况,阶段为wait r($result4) && p('title:0') && e('『研发需求名称』不能为空。'); //勾选由谁评审,传入executionID和fromBug的情况,阶段为projected -system("./ztest init"); \ No newline at end of file +system("./ztest init"); diff --git a/test/model/story/getdataofstorysperclosedreason.php b/test/model/story/getdataofstorysperclosedreason.php index 30f6123188..ed8b42a5ec 100644 --- a/test/model/story/getdataofstorysperclosedreason.php +++ b/test/model/story/getdataofstorysperclosedreason.php @@ -14,9 +14,11 @@ pid=1 global $tester; $tester->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/getestimateinfo.php b/test/model/story/getestimateinfo.php index c1e5cd7d5d..ff87ebcd22 100644 --- a/test/model/story/getestimateinfo.php +++ b/test/model/story/getestimateinfo.php @@ -1,6 +1,5 @@ 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/getrelation.php b/test/model/story/getrelation.php deleted file mode 100644 index 5898c342b9..0000000000 --- a/test/model/story/getrelation.php +++ /dev/null @@ -1,18 +0,0 @@ -getRelation(); -cid=1 -pid=1 - - - -*/ - -$story = new storyTest(); - -r() && p() && e(); \ No newline at end of file diff --git a/test/model/story/getstoryrelation.php b/test/model/story/getstoryrelation.php index 928685fd7d..edbde776fe 100644 --- a/test/model/story/getstoryrelation.php +++ b/test/model/story/getstoryrelation.php @@ -1,6 +1,5 @@ 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/linkstories.php b/test/model/story/linkstories.php index fa1cd65fb2..9d695b6ce4 100644 --- a/test/model/story/linkstories.php +++ b/test/model/story/linkstories.php @@ -13,6 +13,18 @@ pid=1 */ -$story = new storyTest(); +global $tester; +$tester->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..d10ae9dad8 100644 --- a/test/model/story/linkstory.php +++ b/test/model/story/linkstory.php @@ -1,6 +1,5 @@ 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/recordreviewaction.php b/test/model/story/recordreviewaction.php deleted file mode 100644 index c29bd9581f..0000000000 --- a/test/model/story/recordreviewaction.php +++ /dev/null @@ -1,18 +0,0 @@ -recordReviewAction(); -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..b46ccf2ccb 100644 --- a/test/model/story/review.php +++ b/test/model/story/review.php @@ -26,4 +26,4 @@ $review3 = $story->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/setstatusbyreviewrules.php b/test/model/story/setstatusbyreviewrules.php index a58d5ff350..319f439c53 100644 --- a/test/model/story/setstatusbyreviewrules.php +++ b/test/model/story/setstatusbyreviewrules.php @@ -13,6 +13,19 @@ pid=1 */ -$story = new storyTest(); +global $tester; +$tester->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..124cfee48d 100644 --- a/test/model/story/sortstoriesofplan.php +++ b/test/model/story/sortstoriesofplan.php @@ -13,6 +13,19 @@ pid=1 */ -$story = new storyTest(); +global $tester; +$tester->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/superreview.php b/test/model/story/superreview.php deleted file mode 100644 index c351eff7b4..0000000000 --- a/test/model/story/superreview.php +++ /dev/null @@ -1,18 +0,0 @@ -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..2173fc8848 100644 --- a/test/model/story/unlinkstory.php +++ b/test/model/story/unlinkstory.php @@ -1,6 +1,5 @@ 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/updatestorybyreview.php b/test/model/story/updatestorybyreview.php deleted file mode 100644 index 8e6762365a..0000000000 --- a/test/model/story/updatestorybyreview.php +++ /dev/null @@ -1,18 +0,0 @@ -updateStoryByReview(); -cid=1 -pid=1 - - - -*/ - -$story = new storyTest(); - -r() && p() && e(); \ No newline at end of file From 7211d2aa44bc88aa9cb6467ec3670a62644a56bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=99=E5=B9=BF=E6=98=8E?= Date: Thu, 31 Mar 2022 11:20:32 +0800 Subject: [PATCH 2/3] * Code for program. --- test/class/program.class.php | 254 ++---------------- test/model/program/create.php | 47 +++- test/model/program/getbyid.php | 12 +- test/model/program/getlist.php | 18 +- test/model/program/getpairs.php | 14 +- test/model/program/getpairsbylist.php | 18 +- test/model/program/getproductpairs.php | 18 +- test/model/story/activate.php | 3 +- test/model/story/assign.php | 1 + test/model/story/batchassignto.php | 1 + test/model/story/batchchangebranch.php | 1 + test/model/story/batchchangemodule.php | 1 + test/model/story/batchchangeplan.php | 1 + test/model/story/batchchangestage.php | 1 + test/model/story/batchclose.php | 1 + test/model/story/batchcreate.php | 1 + test/model/story/batchgetstorystage.php | 1 + test/model/story/batchreview.php | 1 + test/model/story/batchtotask.php | 1 + test/model/story/batchupdate.php | 1 + test/model/story/change.php | 1 + test/model/story/checkneedconfirm.php | 1 + test/model/story/close.php | 1 + test/model/story/computeestimate.php | 1 + test/model/story/create.php | 1 + .../story/createstoryfromgitlabissue.php | 1 + test/model/story/extractaccountsfromlist.php | 1 + .../model/story/extractaccountsfromsingle.php | 1 + test/model/story/formatstories.php | 1 + test/model/story/get2beclosed.php | 1 + test/model/story/getaffectedscope.php | 1 + test/model/story/getallstorysort.php | 1 + test/model/story/getbyfield.php | 1 + test/model/story/getbyid.php | 1 + test/model/story/getbylist.php | 1 + test/model/story/getbyreviewby.php | 18 -- test/model/story/getbysearch.php | 1 + test/model/story/getbysql.php | 1 + test/model/story/getchangedstories.php | 1 + .../story/getdataofstorysperassignedto.php | 1 + test/model/story/getdataofstorysperchange.php | 1 + .../story/getdataofstorysperclosedreason.php | 1 + .../story/getdataofstorysperestimate.php | 1 + test/model/story/getdataofstoryspermodule.php | 1 + .../story/getdataofstorysperopenedby.php | 1 + test/model/story/getdataofstorysperplan.php | 1 + test/model/story/getdataofstorysperpri.php | 1 + .../model/story/getdataofstorysperproduct.php | 1 + test/model/story/getdataofstoryspersource.php | 1 + test/model/story/getdataofstorysperstage.php | 1 + test/model/story/getdataofstorysperstatus.php | 1 + test/model/story/getestimateinfo.php | 1 + test/model/story/getestimaterounds.php | 1 + test/model/story/getexecutionstories.php | 1 + test/model/story/getexecutionstorypairs.php | 1 + test/model/story/getidlistwithtask.php | 1 + test/model/story/getkanbangroupdata.php | 1 + test/model/story/getparentstorypairs.php | 1 + test/model/story/getplanstories.php | 1 + test/model/story/getproductstories.php | 1 + test/model/story/getproductstorypairs.php | 1 + test/model/story/getrequierements.php | 1 + test/model/story/getreviewerpairs.php | 1 + test/model/story/getstories2link.php | 1 + test/model/story/getstoriesbyplanidlist.php | 1 + test/model/story/getstoryrelation.php | 1 + test/model/story/getstoryrelationcounts.php | 1 + test/model/story/getstoryspecs.php | 1 + test/model/story/getteammembers.php | 1 + test/model/story/getteststories.php | 1 + test/model/story/gettoandcclist.php | 1 + test/model/story/gettrackbyid.php | 1 + test/model/story/gettracks.php | 1 + test/model/story/getuserstories.php | 1 + test/model/story/getuserstorypairs.php | 1 + test/model/story/getversion.php | 1 + test/model/story/getversions.php | 1 + test/model/story/getzerocase.php | 1 + test/model/story/isclickable.php | 1 + test/model/story/linkstories.php | 1 + test/model/story/linkstory.php | 1 + test/model/story/mergechartoption.php | 1 + test/model/story/mergereviewer.php | 1 + test/model/story/printassignedhtml.php | 1 + test/model/story/recall.php | 1 + test/model/story/replaceurlang.php | 18 -- test/model/story/review.php | 1 + test/model/story/saveestimateinfo.php | 1 + test/model/story/setstage.php | 1 + test/model/story/setstatusbyreviewrules.php | 1 + test/model/story/sortstoriesofplan.php | 1 + test/model/story/subdivide.php | 1 + test/model/story/unlinkstory.php | 1 + test/model/story/update.php | 1 + test/model/story/updatestoryorderofplan.php | 1 + test/model/story/updatestoryproduct.php | 1 + test/model/story/updatestoryversion.php | 1 + 97 files changed, 188 insertions(+), 319 deletions(-) delete mode 100644 test/model/story/getbyreviewby.php delete mode 100644 test/model/story/replaceurlang.php diff --git a/test/class/program.class.php b/test/class/program.class.php index 098e184f5a..9f2a95e567 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 * @@ -183,9 +132,9 @@ class Program } /** - * getPairsByList + * Test get pairs by list. * - * @param string $programIDList + * @param string|array $programIDList * @access public * @return void */ @@ -193,7 +142,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 +151,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 +179,6 @@ class Program return $this->program->getParentPairs(); } - /** - * getCount1 - * - * @access public - * @return void - */ - public function getCount1() - { - return count($this->program->getParentPairs()); - } - /** * getParentPM * @@ -297,20 +229,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 +240,6 @@ class Program return $this->program->getProgressList(); } - /** - * getCount3 - * - * @access public - * @return void - */ - public function getCount3() - { - return count($this->program->getProgressList()); - } - /** * getStatsByProgramID * @@ -422,34 +329,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 +343,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 * @@ -562,43 +377,12 @@ class Program * @access public * @return void */ - public function getKanbanGroup($type = ''){ + 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 * 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/getlist.php b/test/model/program/getlist.php index 8ff948f9eb..b7122802d9 100755 --- a/test/model/program/getlist.php +++ b/test/model/program/getlist.php @@ -17,14 +17,14 @@ pid=1 */ -$program = new Program('admin'); +$program = new programTest(); -$t_checkout = array('all', 'wait', 'doing', 'suspended', 'closed', 'name_desc', 'id_asc'); +$pro= array('all', 'wait', 'doing', 'suspended', 'closed', 'name_desc', '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($program->getList()) && p() && e('100'); // 查看所有项目和项目集的个数 +r($program->getList()) && p() && e('34'); // 查看所有'wait'的项目和项目集的个数 +r($program->getList()) && p() && e('44'); // 查看所有'doing'的项目和项目集的个数 +r($program->getList()) && p() && e('11'); // 查看所有'suspended'的项目和项目集的个数 +r($program->getList()) && p() && e('11'); // 查看所有'closed'的项目和项目集的个数 +r($program->getList()) && p() && e(1); // 按照项目和项目集名称倒序获取项目列表 +r($program->getList()) && p() && e(1); // 按照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/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 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 b46ccf2ccb..af94491bbb 100644 --- a/test/model/story/review.php +++ b/test/model/story/review.php @@ -1,3 +1,4 @@ +#!/usr/bin/env php Date: Thu, 31 Mar 2022 16:35:13 +0800 Subject: [PATCH 3/3] * Add program test. --- test/class/program.class.php | 100 ------------------ test/model/program/computeprogress.php | 45 ++++++++ test/model/program/getinvolvedprograms.php | 15 +-- test/model/program/getkanbangroup.php | 12 ++- test/model/program/getlist.php | 23 ++-- test/model/program/getprojectlist.php | 32 +++--- test/model/program/getstakeholders.php | 18 ++-- .../program/getstakeholdersbyprograms.php | 23 ++-- 8 files changed, 110 insertions(+), 158 deletions(-) create mode 100644 test/model/program/computeprogress.php diff --git a/test/class/program.class.php b/test/class/program.class.php index 9f2a95e567..c80d39ce51 100644 --- a/test/class/program.class.php +++ b/test/class/program.class.php @@ -119,18 +119,6 @@ class programTest } } - /** - * getInvolvedPrograms - * - * @param string mixed $account - * @access public - * @return void - */ - public function getInvolvedPrograms($account) - { - return $this->program->getInvolvedPrograms($account); - } - /** * Test get pairs by list. * @@ -370,94 +358,6 @@ class programTest return $this->program->hasUnfinished($program); } - /** - * getKanbanGroup - * - * @param string $type - * @access public - * @return void - */ - public function getKanbanGroup($type = '') - { - $program = $this->program->getKanbanGroup(); - return $program; - } - - /** - * 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/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/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 b7122802d9..443127d20d 100755 --- a/test/model/program/getlist.php +++ b/test/model/program/getlist.php @@ -17,14 +17,21 @@ pid=1 */ +global $tester; $program = new programTest(); +$tester->app->loadClass('pager', $static = true); +$pager = new pager(0, 10, 1); -$pro= 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->getList()) && p() && e('100'); // 查看所有项目和项目集的个数 -r($program->getList()) && p() && e('34'); // 查看所有'wait'的项目和项目集的个数 -r($program->getList()) && p() && e('44'); // 查看所有'doing'的项目和项目集的个数 -r($program->getList()) && p() && e('11'); // 查看所有'suspended'的项目和项目集的个数 -r($program->getList()) && p() && e('11'); // 查看所有'closed'的项目和项目集的个数 -r($program->getList()) && p() && e(1); // 按照项目和项目集名称倒序获取项目列表 -r($program->getList()) && p() && e(1); // 按照ID正序获取项目和项目集列表 +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/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的干系人个数