* Finish story test.

This commit is contained in:
孙广明
2022-03-30 13:47:17 +08:00
parent 8ba2c1bb83
commit 779c2a25cc
15 changed files with 87 additions and 275 deletions
-180
View File
@@ -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;
}
}
+1 -1
View File
@@ -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");
system("./ztest init");
@@ -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的数据
+4 -3
View File
@@ -1,6 +1,5 @@
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
su('admin');
/**
@@ -13,6 +12,8 @@ pid=1
*/
$story = new storyTest();
global $tester;
$tester->loadModel('story');
$storyInfo = $tester->story->getEstimateInfo(2);
r() && p() && e();
r() && p() && e();
-18
View File
@@ -1,18 +0,0 @@
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
su('admin');
/**
title=测试 storyModel->getRelation();
cid=1
pid=1
*/
$story = new storyTest();
r() && p() && e();
+7 -3
View File
@@ -1,6 +1,5 @@
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
su('admin');
/**
@@ -13,6 +12,11 @@ pid=1
*/
$story = new storyTest();
global $tester;
$relations1 = $tester->loadModel('story')->getStoryRelation(25, 'requirement');
$relations2 = $tester->story->getStoryRelation(26, 'story');
r() && p() && e();
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关联的用户需求详情
+14 -2
View File
@@ -13,6 +13,18 @@ pid=1
*/
$story = new storyTest();
global $tester;
$tester->loadModel('story');
r() && p() && e();
$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");
+16 -3
View File
@@ -1,6 +1,5 @@
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
su('admin');
/**
@@ -13,6 +12,20 @@ pid=1
*/
$story = new storyTest();
global $tester;
$tester->loadModel('story');
$tester->story->linkStory(11, 1, 300);
$tester->story->linkStory(12, 1, 302);
$tester->story->linkStory(13, 1, 304);
r() && p() && e();
$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");
-18
View File
@@ -1,18 +0,0 @@
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
su('admin');
/**
title=测试 storyModel->recordReviewAction();
cid=1
pid=1
*/
$story = new storyTest();
r() && p() && e();
+1 -1
View File
@@ -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");
system("./ztest init");
+15 -2
View File
@@ -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();
$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'); // 传入三个拒绝,查看返回结果
+15 -2
View File
@@ -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();
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");
-18
View File
@@ -1,18 +0,0 @@
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
su('admin');
/**
title=测试 storyModel->superReview();
cid=1
pid=1
*/
$story = new storyTest();
r() && p() && e();
+9 -3
View File
@@ -1,6 +1,5 @@
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
su('admin');
/**
@@ -13,6 +12,13 @@ pid=1
*/
$story = new storyTest();
global $tester;
$tester->loadModel('story');
r() && p() && e();
$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");
-18
View File
@@ -1,18 +0,0 @@
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
include dirname(dirname(dirname(__FILE__))) . '/class/story.class.php';
su('admin');
/**
title=测试 storyModel->updateStoryByReview();
cid=1
pid=1
*/
$story = new storyTest();
r() && p() && e();