Merge branch ztflow-yidong-release/21.7.2#wangyidong of zentao/zentaopms (#9197)
This commit is contained in:
@@ -8,12 +8,27 @@ title=测试 devModel::getModuleExtPath();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
获取扩展的模块路径 >> xuan
|
||||
- 获取开源版扩展的模块路径 @xuan
|
||||
- 检查 xuan 扩展路径 @1
|
||||
- 获取旗舰版扩展的模块路径 @common
|
||||
- 检查旗舰版 common 扩展路径 @1
|
||||
- 检查 IPD 版 common 扩展路径 @1
|
||||
|
||||
*/
|
||||
|
||||
global $tester;
|
||||
$tester->loadModel('dev');
|
||||
$extPath = $tester->dev->getModuleExtPath();
|
||||
|
||||
r(key($extPath)) && p() && e('xuan'); // 获取扩展的模块路径
|
||||
$tester->dev->config->edition = 'open';
|
||||
$extPath = $tester->dev->getModuleExtPath();
|
||||
r(key($extPath)) && p() && e('xuan'); // 获取开源版扩展的模块路径
|
||||
r(strpos($extPath['xuan'], DS . 'extension' . DS . 'xuan' . DS) !== false) && p() && e('1'); // 检查 xuan 扩展路径
|
||||
|
||||
$tester->dev->config->edition = 'max';
|
||||
$extPath = $tester->dev->getModuleExtPath();
|
||||
r(key($extPath)) && p() && e('common'); // 获取旗舰版扩展的模块路径
|
||||
r(strpos($extPath['common'], DS . 'extension' . DS . 'max' . DS) !== false) && p() && e('1'); // 检查旗舰版 common 扩展路径
|
||||
|
||||
$tester->dev->config->edition = 'ipd';
|
||||
$extPath = $tester->dev->getModuleExtPath();
|
||||
r(strpos($extPath['common'], DS . 'extension' . DS . 'ipd' . DS) !== false) && p() && e('1'); // 检查 IPD 版 common 扩展路径
|
||||
|
||||
@@ -129,17 +129,17 @@ class editorTest
|
||||
$link = $this->objectModel->addLink4Dir($extModelPath);
|
||||
$result .= (strpos($link->actions['items'][0]['data-url'], 'newExtend') === false ? 0 : 1) . ',';
|
||||
|
||||
$extJSPath = $extensionPath . 'js';
|
||||
$extJSPath = $extensionPath . 'js/create';
|
||||
$link = $this->objectModel->addLink4Dir($extJSPath);
|
||||
$result .= (strpos($link->actions['items'][0]['data-url'], 'newJS') === false ? 0 : 1) . ',';
|
||||
|
||||
$extCSSPath = $extensionPath . 'css';
|
||||
$extCSSPath = $extensionPath . 'css/create';
|
||||
$link = $this->objectModel->addLink4Dir($extCSSPath);
|
||||
$result .= (strpos($link->actions['items'][0]['data-url'], 'newCSS') === false ? 0 : 1) . ',';
|
||||
|
||||
$extLangPath = $extensionPath . 'lang';
|
||||
$extLangPath = $extensionPath . 'lang/zh-cn';
|
||||
$link = $this->objectModel->addLink4Dir($extLangPath);
|
||||
$result .= (strpos($link->actions['items'][0]['data-url'], 'lang') === false ? 0 : 1);
|
||||
$result .= (strpos($link->actions['items'][0]['data-url'], 'newExtend') === false ? 0 : 1);
|
||||
return $result;
|
||||
}
|
||||
|
||||
@@ -181,27 +181,27 @@ class editorTest
|
||||
$extensionPath = $extensionRoot . $edition . DS . 'todo' . DS . 'ext' . DS;
|
||||
$extControlPath = $extensionPath . 'control' . DS . 'create.php';
|
||||
$link = $this->objectModel->addLink4File($extControlPath, 'create.php');
|
||||
$result .= ((str_contains($link->actions['items'][1]['data-url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0) . ',';
|
||||
$result .= ((str_contains($link->actions['items'][1]['url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0) . ',';
|
||||
|
||||
$extModelPath = $extensionPath . 'model' . DS . 'zentaobiz.class.php';
|
||||
$link = $this->objectModel->addLink4File($extModelPath, 'zentaobiz.class.php');
|
||||
$result .= ((str_contains($link->actions['items'][1]['data-url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0) . ',';
|
||||
$result .= ((str_contains($link->actions['items'][1]['url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0) . ',';
|
||||
|
||||
$extJSPath = $extensionPath . 'js' . DS . 'create' . DS . 'zentaobiz.js';
|
||||
$link = $this->objectModel->addLink4File($extJSPath, 'zentaobiz.js');
|
||||
$result .= ((str_contains($link->actions['items'][1]['data-url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0) . ',';
|
||||
$result .= ((str_contains($link->actions['items'][1]['url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0) . ',';
|
||||
|
||||
$extCSSPath = $extensionPath . 'css' . DS . 'create' . DS . 'zentaobiz.css';
|
||||
$link = $this->objectModel->addLink4File($extCSSPath, 'zentaobiz.css');
|
||||
$result .= ((str_contains($link->actions['items'][1]['data-url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0) . ',';
|
||||
$result .= ((str_contains($link->actions['items'][1]['url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0) . ',';
|
||||
|
||||
$extLangPath = $extensionPath . 'lang' . DS . 'zh-cn' . DS . 'zentaobiz.php';
|
||||
$link = $this->objectModel->addLink4File($extLangPath, 'zentaobiz.php');
|
||||
$result .= ((str_contains($link->actions['items'][1]['data-url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0) . ',';
|
||||
$result .= ((str_contains($link->actions['items'][1]['url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0) . ',';
|
||||
|
||||
$extConfigPath = $extensionPath . 'config' . DS . 'zentaobiz.php';
|
||||
$link = $this->objectModel->addLink4File($extConfigPath, 'zentaobiz.php');
|
||||
$result .= ((str_contains($link->actions['items'][1]['data-url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0);
|
||||
$result .= ((str_contains($link->actions['items'][1]['url'], 'delete') && str_contains($link->actions['items'][0]['data-url'], 'edit')) ? 1 : 0);
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,9 +10,16 @@ title=测试 editorModel::addLink4Dir();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
添加todo模块的链接 >> 1,1,1,1,1,1,1,1
|
||||
- 开源版添加todo模块的链接 @1,1,1,1,1,1,1,1
|
||||
- 收费版添加todo模块的链接 @1,1,1,1,1,1,1,1
|
||||
|
||||
*/
|
||||
|
||||
global $config;
|
||||
$editor = new editorTest();
|
||||
r($editor->addLink4DirTest()) && p() && e('1,1,1,1,1,1,1,1'); //添加todo模块的链接
|
||||
|
||||
$config->edition = 'open';
|
||||
r($editor->addLink4DirTest()) && p() && e('1,1,1,1,1,1,1,1'); //开源版添加todo模块的链接
|
||||
|
||||
$config->edition = 'max';
|
||||
r($editor->addLink4DirTest()) && p() && e('1,1,1,1,1,1,1,1'); //收费版添加todo模块的链接
|
||||
|
||||
@@ -10,9 +10,17 @@ title=测试 editorModel::addLink4File();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
添加todo模块的链接 >> 1,1,1,1,1,1,1,1,1,1,1
|
||||
- 开源版添加todo模块的链接 @1,1,1,1,1,1,1,1,1,1,1
|
||||
- 收费版添加todo模块的链接 @1,1,1,1,1,1,1,1,1,1,1
|
||||
|
||||
*/
|
||||
|
||||
global $config;
|
||||
|
||||
$editor = new editorTest();
|
||||
r($editor->addLink4FileTest()) && p() && e('1,1,1,1,1,1,1,1,1,1,1'); //添加todo模块的链接
|
||||
|
||||
$config->edition = 'open';
|
||||
r($editor->addLink4FileTest()) && p() && e('1,1,1,1,1,1,1,1,1,1,1'); //开源版添加todo模块的链接
|
||||
|
||||
$config->edition = 'max';
|
||||
r($editor->addLink4FileTest()) && p() && e('1,1,1,1,1,1,1,1,1,1,1'); //收费版添加todo模块的链接
|
||||
|
||||
@@ -20,15 +20,23 @@ $execution->gen(5);
|
||||
/**
|
||||
|
||||
title=测试executionModel->activateTest();
|
||||
cid=1
|
||||
pid=1
|
||||
cid=0
|
||||
|
||||
敏捷执行激活 >> status,suspended,doing
|
||||
瀑布执行激活 >> status,suspended,doing
|
||||
看板执行激活 >> status,suspended,doing
|
||||
修改激活时间 >> begin
|
||||
修改顺延 >> begin
|
||||
子瀑布激活获取父瀑布状态 >> doing
|
||||
- 敏捷执行激活
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @suspended
|
||||
- 第0条的new属性 @wait
|
||||
- 瀑布执行激活
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @suspended
|
||||
- 第0条的new属性 @wait
|
||||
- 看板执行激活
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @suspended
|
||||
- 第0条的new属性 @wait
|
||||
- 修改激活时间第1条的field属性 @begin
|
||||
- 修改顺延第1条的field属性 @begin
|
||||
- 子瀑布激活获取父瀑布状态属性status @wait
|
||||
|
||||
*/
|
||||
|
||||
@@ -39,7 +47,7 @@ $readjustTime = array();
|
||||
$executionTester = new executionTest();
|
||||
r($executionTester->activateTest($executionIDList[0])) && p('0:field,old,new') && e('status,suspended,wait'); // 敏捷执行激活
|
||||
r($executionTester->activateTest($executionIDList[1])) && p('0:field,old,new') && e('status,suspended,wait'); // 瀑布执行激活
|
||||
r($executionTester->activateTest($executionIDList[2])) && p('0:field,old,new') && e('status,suspended,wait'); // 看板执行激活
|
||||
r($executionTester->activateTest($executionIDList[2])) && p('0:field,old,new') && e('status,suspended,wait'); // 看板执行激活
|
||||
r($executionTester->activateTest($executionIDList[3],$readjustTime)) && p('1:field') && e('begin'); // 修改激活时间
|
||||
r($executionTester->activateTest($executionIDList[4],$readjustTask)) && p('1:field') && e('begin'); // 修改顺延
|
||||
r($executionTester->activateTest($executionIDList[3], array(), true)) && p('status') && e('wait'); // 子瀑布激活获取父瀑布状态
|
||||
|
||||
@@ -22,21 +22,24 @@ $project->gen(4);
|
||||
/**
|
||||
|
||||
title=测试executionModel->create();
|
||||
cid=1
|
||||
pid=1
|
||||
cid=0
|
||||
|
||||
测试创建敏捷私有执行 >> 新增私有敏捷执行,sprint
|
||||
测试创建敏捷公开执行 >> 新增公开敏捷执行code,sprint
|
||||
测试创建瀑布私有执行 >> 新增私有瀑布执行,stage
|
||||
测试创建瀑布公开执行 >> 新增公开瀑布执行code,stage
|
||||
测试创建看板私有执行 >> 新增私有看板执行,kanban
|
||||
测试创建看板公开执行 >> 新增公开看板执行code,kanban
|
||||
测试创建迭代团队分配 >> user1,user2,user3,user4
|
||||
测试不输入项目 >> 所属项目不能为空。
|
||||
测试不输入执行名称 >> 『执行名称』不能为空。
|
||||
测试不输入执行代号 >> 『执行代号』不能为空。
|
||||
测试一样的执行名称 >> 『执行名称』已经有『新增私有敏捷执行』这条记录了。
|
||||
测试一样的执行代号 >> 『执行代号』已经有『新增私有敏捷执行code』这条记录了。
|
||||
- 测试创建敏捷私有执行
|
||||
- 属性name @新增私有敏捷执行
|
||||
- 属性type @sprint
|
||||
- 测试创建敏捷公开执行
|
||||
- 属性code @新增公开敏捷执行code
|
||||
- 属性type @sprint
|
||||
- 测试创建迭代团队分配
|
||||
- 属性PO @user1
|
||||
- 属性QD @user2
|
||||
- 属性PM @user3
|
||||
- 属性RD @user4
|
||||
- 测试不输入项目第project条的0属性 @『所属项目』不能为空。
|
||||
- 测试不输入执行名称第name条的0属性 @『项目名称』不能为空。
|
||||
- 测试不输入执行代号第code条的0属性 @『项目代号』不能为空。
|
||||
- 测试一样的执行名称第name条的0属性 @『项目名称』已经有『新增私有敏捷执行』这条记录了。如果您确定该记录已删除,请到后台-系统设置-回收站还原。
|
||||
- 测试一样的执行代号第code条的0属性 @『项目代号』已经有『新增私有敏捷执行code』这条记录了。如果您确定该记录已删除,请到后台-系统设置-回收站还原。
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@ title=测试executionModel->fixOrderTest();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 重置order第3条的order属性 @15
|
||||
|
||||
*/
|
||||
|
||||
$executionTester = new executionTest();
|
||||
|
||||
@@ -22,6 +22,10 @@ title=executionModel->getByID();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 根据executionID查找任务详情属性name @迭代1
|
||||
- 根据executionID查找任务详情并替换图片链接属性name @迭代1
|
||||
- 查询存在的执行 @0
|
||||
|
||||
*/
|
||||
|
||||
$execution = new executionTest();
|
||||
|
||||
@@ -28,6 +28,34 @@ title=测试executionModel->getByProjectTest();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 敏捷项目执行列表查询
|
||||
- 第5条的project属性 @2
|
||||
- 第5条的name属性 @迭代1
|
||||
- 第5条的type属性 @sprint
|
||||
- 瀑布项目执行列表查询
|
||||
- 第6条的project属性 @3
|
||||
- 第6条的name属性 @产品1/阶段1
|
||||
- 第6条的type属性 @stage
|
||||
- 看板项目执行列表查询
|
||||
- 第7条的project属性 @4
|
||||
- 第7条的name属性 @看板1
|
||||
- 第7条的type属性 @kanban
|
||||
- wait执行列表查询 @0
|
||||
- doing执行列表查询
|
||||
- 第7条的status属性 @doing
|
||||
- 第7条的name属性 @看板1
|
||||
- 执行列表2条查询 @2
|
||||
- 执行列表10条查询 @3
|
||||
- 敏捷项目执行键值对查询属性5 @项目1/迭代1
|
||||
- 瀑布项目执行键值对查询属性6 @项目2/产品1/阶段1
|
||||
- 看板项目执行键值对查询属性7 @项目3/看板1
|
||||
- wait执行键值对查询 @0
|
||||
- doing执行键值对查询属性7 @项目3/看板1
|
||||
- 执行键值对2条查询 @2
|
||||
- 执行键值对10条查询 @3
|
||||
- 测试获取开发阶段 @0
|
||||
- 测试获取开发阶段或id=7的执行 @1
|
||||
|
||||
*/
|
||||
|
||||
$projectIdList = array(0, 2, 3, 4);
|
||||
@@ -39,19 +67,19 @@ $appendIdList = array(0, 7);
|
||||
$count = array(0, 1);
|
||||
|
||||
$executionTester = new executionTest();
|
||||
r($executionTester->getByProjectTest($projectIdList[1], $status[0], $limit[0], $pairsList[0], $develList[0], $appendIdList[0], $count[0])) && p('5:project,name,type') && e('2,迭代1,sprint'); // 敏捷项目执行列表查询
|
||||
r($executionTester->getByProjectTest($projectIdList[2], $status[0], $limit[0], $pairsList[0], $develList[0], $appendIdList[0], $count[0])) && p('6:project,name,type') && e('3,阶段1,stage'); // 瀑布项目执行列表查询
|
||||
r($executionTester->getByProjectTest($projectIdList[3], $status[0], $limit[0], $pairsList[0], $develList[0], $appendIdList[0], $count[0])) && p('7:project,name,type') && e('4,看板1,kanban'); // 看板项目执行列表查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[1], $limit[0], $pairsList[0], $develList[0], $appendIdList[0], $count[0])) && p() && e('0'); // wait执行列表查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[0], $pairsList[0], $develList[0], $appendIdList[0], $count[0])) && p('7:status,name') && e('doing,看板1'); // doing执行列表查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[1], $pairsList[0], $develList[0], $appendIdList[0], $count[1])) && p() && e('2'); // 执行列表2条查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[2], $pairsList[0], $develList[0], $appendIdList[0], $count[1])) && p() && e('3'); // 执行列表10条查询
|
||||
r($executionTester->getByProjectTest($projectIdList[1], $status[0], $limit[0], $pairsList[1], $develList[0], $appendIdList[0], $count[0])) && p('5') && e('项目1/迭代1'); // 敏捷项目执行键值对查询
|
||||
r($executionTester->getByProjectTest($projectIdList[2], $status[0], $limit[0], $pairsList[1], $develList[0], $appendIdList[0], $count[0])) && p('6') && e('项目2/阶段1'); // 瀑布项目执行键值对查询
|
||||
r($executionTester->getByProjectTest($projectIdList[3], $status[0], $limit[0], $pairsList[1], $develList[0], $appendIdList[0], $count[0])) && p('7') && e('项目3/看板1'); // 看板项目执行键值对查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[1], $limit[0], $pairsList[1], $develList[0], $appendIdList[0], $count[0])) && p() && e('0'); // wait执行键值对查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[0], $pairsList[1], $develList[0], $appendIdList[0], $count[0])) && p('7') && e('项目3/看板1'); // doing执行键值对查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[1], $pairsList[1], $develList[0], $appendIdList[0], $count[1])) && p() && e('2'); // 执行键值对2条查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[2], $pairsList[1], $develList[0], $appendIdList[0], $count[1])) && p() && e('3'); // 执行键值对10条查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[2], $pairsList[1], $develList[1], $appendIdList[0], $count[1])) && p() && e('0'); // 测试获取开发阶段
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[2], $pairsList[1], $develList[1], $appendIdList[1], $count[1])) && p() && e('1'); // 测试获取开发阶段或id=7的执行
|
||||
r($executionTester->getByProjectTest($projectIdList[1], $status[0], $limit[0], $pairsList[0], $develList[0], $appendIdList[0], $count[0])) && p('5:project,name,type') && e('2,迭代1,sprint'); // 敏捷项目执行列表查询
|
||||
r($executionTester->getByProjectTest($projectIdList[2], $status[0], $limit[0], $pairsList[0], $develList[0], $appendIdList[0], $count[0])) && p('6:project,name,type') && e('3,产品1/阶段1,stage'); // 瀑布项目执行列表查询
|
||||
r($executionTester->getByProjectTest($projectIdList[3], $status[0], $limit[0], $pairsList[0], $develList[0], $appendIdList[0], $count[0])) && p('7:project,name,type') && e('4,看板1,kanban'); // 看板项目执行列表查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[1], $limit[0], $pairsList[0], $develList[0], $appendIdList[0], $count[0])) && p() && e('0'); // wait执行列表查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[0], $pairsList[0], $develList[0], $appendIdList[0], $count[0])) && p('7:status,name') && e('doing,看板1'); // doing执行列表查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[1], $pairsList[0], $develList[0], $appendIdList[0], $count[1])) && p() && e('2'); // 执行列表2条查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[2], $pairsList[0], $develList[0], $appendIdList[0], $count[1])) && p() && e('3'); // 执行列表10条查询
|
||||
r($executionTester->getByProjectTest($projectIdList[1], $status[0], $limit[0], $pairsList[1], $develList[0], $appendIdList[0], $count[0])) && p('5') && e('项目1/迭代1'); // 敏捷项目执行键值对查询
|
||||
r($executionTester->getByProjectTest($projectIdList[2], $status[0], $limit[0], $pairsList[1], $develList[0], $appendIdList[0], $count[0])) && p('6') && e('项目2/产品1/阶段1'); // 瀑布项目执行键值对查询
|
||||
r($executionTester->getByProjectTest($projectIdList[3], $status[0], $limit[0], $pairsList[1], $develList[0], $appendIdList[0], $count[0])) && p('7') && e('项目3/看板1'); // 看板项目执行键值对查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[1], $limit[0], $pairsList[1], $develList[0], $appendIdList[0], $count[0])) && p() && e('0'); // wait执行键值对查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[0], $pairsList[1], $develList[0], $appendIdList[0], $count[0])) && p('7') && e('项目3/看板1'); // doing执行键值对查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[1], $pairsList[1], $develList[0], $appendIdList[0], $count[1])) && p() && e('2'); // 执行键值对2条查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[2], $pairsList[1], $develList[0], $appendIdList[0], $count[1])) && p() && e('3'); // 执行键值对10条查询
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[2], $pairsList[1], $develList[1], $appendIdList[0], $count[1])) && p() && e('0'); // 测试获取开发阶段
|
||||
r($executionTester->getByProjectTest($projectIdList[0], $status[2], $limit[2], $pairsList[1], $develList[1], $appendIdList[1], $count[1])) && p() && e('1'); // 测试获取开发阶段或id=7的执行
|
||||
|
||||
@@ -18,6 +18,9 @@ title=测试 executionModel->getLimitedExecution();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 判断管理员 @1
|
||||
- 判断非管理员 @103
|
||||
|
||||
*/
|
||||
|
||||
global $app;
|
||||
|
||||
@@ -27,6 +27,33 @@ title=executionModel->getOrderedExecutions();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 敏捷项目wait状态执行查看
|
||||
- 第5条的project属性 @2
|
||||
- 第5条的status属性 @wait
|
||||
- 第5条的type属性 @sprint
|
||||
- 敏捷项目doing状态执行查看
|
||||
- 第6条的project属性 @2
|
||||
- 第6条的status属性 @doing
|
||||
- 第6条的type属性 @sprint
|
||||
- 瀑布项目wait状态执行查看 @0
|
||||
- 瀑布项目doing状态执行查看 @0
|
||||
- 看板项目wait状态执行查看
|
||||
- 第9条的project属性 @4
|
||||
- 第9条的status属性 @wait
|
||||
- 第9条的type属性 @kanban
|
||||
- 看板项目doing状态执行查看
|
||||
- 第10条的project属性 @4
|
||||
- 第10条的status属性 @doing
|
||||
- 第10条的type属性 @kanban
|
||||
- 敏捷项目wait状态执行统计 @1
|
||||
- 敏捷项目doing状态执行统计 @1
|
||||
- 瀑布项目wait状态执行统计 @0
|
||||
- 瀑布项目doing状态执行统计 @0
|
||||
- 看板项目wait状态执行统计 @1
|
||||
- 看板项目doing状态执行统计 @1
|
||||
- 敏捷项目done状态执行统计 @0
|
||||
- 敏捷项目closed状态执行统计 @0
|
||||
|
||||
*/
|
||||
|
||||
$projectIDList = array(2, 3, 4);
|
||||
|
||||
@@ -30,6 +30,9 @@ title=测试executionModel->getPrevKanban();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 查询执行id=4数据 @empty
|
||||
- 保存数据后查询执行id=4数据第wait条的0属性 @task1
|
||||
|
||||
*/
|
||||
|
||||
$executionTester = new executionTest();
|
||||
|
||||
@@ -50,6 +50,13 @@ title=测试executionModel->getTasks2ImportedTest();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 敏捷执行任务查看第1条的name属性 @任务1
|
||||
- 瀑布执行任务查看第2条的type属性 @devel
|
||||
- 看板执行任务查看第3条的status属性 @wait
|
||||
- 敏捷执行任务统计 @4
|
||||
- 敏捷执行任务统计 @3
|
||||
- 敏捷执行任务统计 @3
|
||||
|
||||
*/
|
||||
|
||||
$executionIDList = array('3', '4', '5');
|
||||
|
||||
@@ -48,6 +48,22 @@ title=测试executionModel->linkCasesTest();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 敏捷执行关联用例
|
||||
- 第0条的project属性 @3
|
||||
- 第0条的product属性 @1
|
||||
- 第0条的case属性 @1
|
||||
- 瀑布执行关联用例
|
||||
- 第0条的project属性 @4
|
||||
- 第0条的product属性 @43
|
||||
- 第0条的case属性 @2
|
||||
- 看板执行关联用例
|
||||
- 第0条的project属性 @5
|
||||
- 第0条的product属性 @68
|
||||
- 第0条的case属性 @3
|
||||
- 敏捷执行关联用例统计 @3
|
||||
- 瀑布执行关联用例统计 @3
|
||||
- 看板执行关联用例统计 @3
|
||||
|
||||
*/
|
||||
|
||||
$executionIdList = array(3, 4, 5);
|
||||
|
||||
@@ -18,6 +18,20 @@ title=测试executionModel->processTasks();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 测试空数据 @0
|
||||
- 测试处理迭代下的任务信息
|
||||
- 第30条的id属性 @30
|
||||
- 第30条的name属性 @开发任务40
|
||||
- 测试处理阶段下的任务信息
|
||||
- 第15条的id属性 @15
|
||||
- 第15条的name属性 @开发任务25
|
||||
- 测试处理看板下的任务信息
|
||||
- 第27条的id属性 @27
|
||||
- 第27条的name属性 @开发任务37
|
||||
- 获取处理迭代下的任务数量 @13
|
||||
- 获取处理阶段下的任务数量 @5
|
||||
- 获取处理看板下的任务数量 @6
|
||||
|
||||
*/
|
||||
|
||||
$executionIdList = array(0, 2, 3, 4);
|
||||
|
||||
@@ -19,13 +19,24 @@ su('admin');
|
||||
/**
|
||||
|
||||
title=测试executionModel->putoffTest();
|
||||
cid=1
|
||||
pid=1
|
||||
cid=0
|
||||
|
||||
wait执行延期 >> days,,5
|
||||
敏捷执行延期 >> status,doing,wait
|
||||
瀑布阶段延期 >> status,doing,wait
|
||||
看板执行延期 >> status,doing,wait
|
||||
- wait执行延期
|
||||
- 第0条的field属性 @days
|
||||
- 第0条的old属性 @0
|
||||
- 第0条的new属性 @5
|
||||
- 敏捷执行延期
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @doing
|
||||
- 第0条的new属性 @wait
|
||||
- 瀑布阶段延期
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @doing
|
||||
- 第0条的new属性 @wait
|
||||
- 看板执行延期
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @doing
|
||||
- 第0条的new属性 @wait
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -24,6 +24,9 @@ title=测试 executionModel::setProjectSession();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 执行存在的情况 @2
|
||||
- 执行不存在的情况 @0
|
||||
|
||||
*/
|
||||
|
||||
$executionTester = new executionTest();
|
||||
|
||||
@@ -16,6 +16,18 @@ su('admin');
|
||||
title=测试executionModel->startTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
- 敏捷执行开始
|
||||
- 第status条的old属性 @wait
|
||||
- 第status条的new属性 @doing
|
||||
- 瀑布阶段开始
|
||||
- 第status条的old属性 @wait
|
||||
- 第status条的new属性 @doing
|
||||
- 看板执行开始
|
||||
- 第status条的old属性 @wait
|
||||
- 第status条的new属性 @doing
|
||||
- 子瀑布开启获取父瀑布状态属性status @doing
|
||||
|
||||
*/
|
||||
|
||||
$executionIDList = array(2, 3, 4, 5);
|
||||
@@ -24,4 +36,4 @@ $execution = new executionTest();
|
||||
r($execution->startTest($executionIDList[0])) && p('status:old,new') && e('wait,doing'); // 敏捷执行开始
|
||||
r($execution->startTest($executionIDList[1])) && p('status:old,new') && e('wait,doing'); // 瀑布阶段开始
|
||||
r($execution->startTest($executionIDList[2])) && p('status:old,new') && e('wait,doing'); // 看板执行开始
|
||||
r($execution->startTest($executionIDList[3], array(), true)) && p('status') && e('doing'); // 子瀑布开启获取父瀑布状态
|
||||
r($execution->startTest($executionIDList[3], array(), true)) && p('status') && e('doing'); // 子瀑布开启获取父瀑布状态
|
||||
|
||||
@@ -18,13 +18,31 @@ title=测试executionModel->suspendTest();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
wait敏捷执行挂起 >> status,wait,suspended
|
||||
doing敏捷执行挂起 >> status,doing,suspended
|
||||
wait瀑布执行挂起 >> status,wait,suspended
|
||||
doing瀑布执行挂起 >> status,doing,suspended
|
||||
wait看板执行挂起 >> status,wait,suspended
|
||||
doing看板执行挂起 >> status,doing,suspended
|
||||
挂起后再次挂起 >> 0
|
||||
- wait敏捷执行挂起
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @wait
|
||||
- 第0条的new属性 @suspended
|
||||
- doing敏捷执行挂起
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @doing
|
||||
- 第0条的new属性 @suspended
|
||||
- wait瀑布执行挂起
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @wait
|
||||
- 第0条的new属性 @suspended
|
||||
- doing瀑布执行挂起
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @doing
|
||||
- 第0条的new属性 @suspended
|
||||
- wait看板执行挂起
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @wait
|
||||
- 第0条的new属性 @suspended
|
||||
- doing看板执行挂起
|
||||
- 第0条的field属性 @status
|
||||
- 第0条的old属性 @doing
|
||||
- 第0条的new属性 @suspended
|
||||
- 挂起后再次挂起 @0
|
||||
|
||||
*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user