* Finish story test.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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的数据
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
@@ -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关联的用户需求详情
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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();
|
||||
@@ -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");
|
||||
|
||||
@@ -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'); // 传入三个拒绝,查看返回结果
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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();
|
||||
@@ -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");
|
||||
|
||||
@@ -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();
|
||||
Reference in New Issue
Block a user