Merge branch ztflow-wangyuting-dev/task-144776#wangyuting of zentao/zentaopms (#9108)

This commit is contained in:
刘刚
2025-06-04 16:08:48 +08:00
committed by Gitfox
23 changed files with 285 additions and 196 deletions
+1 -1
View File
@@ -425,7 +425,7 @@ class apiModel extends model
/* 没有模块ID的根据libID来获取发布信息。 */
$where = 'lib = ' . $libID;
}
$apiList = $this->dao->select('*')->from(TABLE_API)->where($where)->andWhere('deleted')->eq(0)->page($pager)->fetchAll();
$apiList = $this->dao->select('*')->from(TABLE_API)->where($where)->andWhere('deleted')->eq(0)->page($pager)->fetchAll('', false);
}
foreach($apiList as $api)
+10 -4
View File
@@ -17,13 +17,19 @@ title=测试 apiModel->createDemoData();
timeout=0
cid=1
- 测试正常初始化数据。 @1
- 测试错误初始化数据。 @0
- 测试v1初始化数据。 @1
- 测试v2初始化数据。 @2
- 测试v3初始化数据。 @3
- 测试v3初始化数据。 @4
- 测试v3初始化数据。 @5
*/
global $tester, $lang, $app;
$tester->loadModel('api');
r($tester->api->createDemoData($lang->api->zentaoAPI, commonModel::getSysURL() . $app->config->webRoot . 'api.php/v1', '16.0')) && p() && e(1); // 测试正常初始化数据。
r($tester->api->createDemoData($lang->api->zentaoAPI, commonModel::getSysURL() . $app->config->webRoot . 'api.php/v2', '16.0')) && p() && e(0); // 测试错误初始化数据。
r($tester->api->createDemoData($lang->api->zentaoAPI . 'v1', commonModel::getSysURL() . $app->config->webRoot . 'api.php/v1', '16.0')) && p() && e(1); // 测试v1初始化数据。
r($tester->api->createDemoData($lang->api->zentaoAPI . 'v2', commonModel::getSysURL() . $app->config->webRoot . 'api.php/v2', '16.0')) && p() && e(2); // 测试v2初始化数据。
r($tester->api->createDemoData($lang->api->zentaoAPI . 'v3', commonModel::getSysURL() . $app->config->webRoot . 'api.php/v3', '16.0')) && p() && e(3); // 测试v3初始化数据。
r($tester->api->createDemoData($lang->api->zentaoAPI . 'v4', commonModel::getSysURL() . $app->config->webRoot . 'api.php/v4', '16.0')) && p() && e(4); // 测试v3初始化数据。
r($tester->api->createDemoData($lang->api->zentaoAPI . 'v5', commonModel::getSysURL() . $app->config->webRoot . 'api.php/v5', '16.0')) && p() && e(5); // 测试v3初始化数据。
+11 -5
View File
@@ -25,11 +25,16 @@ cid=1
- 第0条的title属性 @BUG接口1
- 第0条的path属性 @bug-getList
- 第0条的status属性 @doing
- 测试获取文档库ID为1并且发布ID为1的文档列表。
- 测试获取文档库ID为1并且模块ID为1发布ID为1的文档列表。
- 第0条的id属性 @1
- 第0条的title属性 @BUG接口1
- 第0条的path属性 @bug-getList
- 第0条的status属性 @doing
- 测试获取文档库ID为2并且模块ID为2发布ID为2的文档列表。
- 第0条的id属性 @2
- 第0条的title属性 @BUG接口2
- 第0条的path属性 @bug-getList
- 第0条的status属性 @done
*/
@@ -37,7 +42,8 @@ global $tester;
$tester->loadModel('api');
$release = new stdclass();
r($tester->api->getListByModuleID()) && p() && e('0'); // 测试不传参数时获取的文档列表。
r($tester->api->getListByModuleID(1)) && p('0:id,title,path,status') && e('1,BUG接口1,bug-getList,doing'); // 测试获取文档库ID为1的文档列表。
r($tester->api->getListByModuleID(1, 1)) && p('0:id,title,path,status') && e('1,BUG接口1,bug-getList,doing'); // 测试获取文档库ID为1并且模块ID为1的文档列表。
r($tester->api->getListByModuleID(1, 1, 1)) && p('0:id,title,path,status') && e('1,BUG接口1,bug-getList,doing'); // 测试获取文档库ID为1并且发布ID为1的文档列表。
r($tester->api->getListByModuleID()) && p() && e('0'); // 测试不传参数时获取的文档列表。
r($tester->api->getListByModuleID(1)) && p('0:id,title,path,status') && e('1,BUG接口1,bug-getList,doing'); // 测试获取文档库ID为1的文档列表。
r($tester->api->getListByModuleID(1, 1)) && p('0:id,title,path,status') && e('1,BUG接口1,bug-getList,doing'); // 测试获取文档库ID为1并且模块ID为1的文档列表。
r($tester->api->getListByModuleID(1, 1, 1)) && p('0:id,title,path,status') && e('1,BUG接口1,bug-getList,doing'); // 测试获取文档库ID为1并且模块ID为1发布ID为1的文档列表。
r($tester->api->getListByModuleID(2, 2, 2)) && p('0:id,title,path,status') && e('2,BUG接口2,bug-getList,done'); // 测试获取文档库ID为2并且模块ID为2发布ID为2的文档列表。
+6 -21
View File
@@ -3,25 +3,10 @@ title: zt_api
author: Yuting Wang
version: "1.0"
fields:
- field: id
range: 1-10
- field: module
range: "0{10}"
- field: product
range: "0{10}"
- field: lib
range: "7{10}"
- field: title
note: "名称"
fields:
- field: title1
range: "apidoc{10}"
- field: title2
range: 1-10
- field: path
note: "路径"
fields:
- field: path1
range: "apipath{10}"
field: path2
range: 1-10
note: "所属模块"
range: 1{1}, 0{99}
prefix: ""
postfix: ""
loop: 0
format: ""
+7 -10
View File
@@ -13,19 +13,16 @@ cid=39
- 测试获取正常的block的内容
- 属性account @admin
- 属性vision @rnd
- 属性dashboard @my
- 属性module @project
- 属性code @statistic
- 属性title @项目统计区块
- 属性order @1
- 属性vision @rnd
- 属性width @2
- 属性height @3
- 测试所属模块为空第module条的0属性 @『所属模块』不能为空。
- 测试所属区块为空第code条的0属性 @『区块』不能为空。
- 测试区块名称为空第title条的0属性 @『区块名称』不能为空。
- 测试account 字段字符超出长度第account条的0属性 @『所属用户』长度应当不超过『30』,且大于『0』。
*/
@@ -61,8 +58,8 @@ $emptyTitleBlock->title = '';
$blockTest = new blockTest();
$newBlockID = $blockTest->createTest($block);
r($tester->block->getByID($newBlockID)) && p('account,dashboard,module,code,title,vision,width,height') && e('admin,my,project,statistic,项目统计区块,rnd,2,3'); // 测试获取正常的block的内容
r($blockTest->createTest($emptyModuleBlock)) && p('module:0') && e('『所属模块』不能为空。'); // 测试所属模块为空
r($blockTest->createTest($emptyCodeBlock)) && p('code:0') && e('『区块』不能为空。'); // 测试所属区块为空
r($blockTest->createTest($emptyTitleBlock)) && p('title:0') && e('『区块名称』不能为空。'); // 测试区块名称为空
r($tester->block->getByID($newBlockID)) && p('account,dashboard,module,code,title,vision,width,height') && e('admin,my,project,statistic,项目统计区块,rnd,2,3'); // 测试获取正常的block的内容
r($blockTest->createTest($emptyModuleBlock)) && p('module:0') && e('『所属模块』不能为空。'); // 测试所属模块为空
r($blockTest->createTest($emptyCodeBlock)) && p('code:0') && e('『区块』不能为空。'); // 测试所属区块为空
r($blockTest->createTest($emptyTitleBlock)) && p('title:0') && e('『区块名称』不能为空。'); // 测试区块名称为空
r($blockTest->createTest($accountTooLangBlock)) && p('account:0') && e('『所属用户』长度应当不超过『30』,且大于『0』。'); // 测试account 字段字符超出长度
+8 -12
View File
@@ -26,21 +26,17 @@ timeout=0
cid=39
- 测试获取正常的block的内容
- 属性account @admin2
- 属性vision @lite
- 属性dashboard @scrumproject
- 属性account @admin
- 属性dashboard @my
- 属性module @project
- 属性code @statistic
- 属性title @项目统计区块
- 属性order @1
- 测试所属模块为空 @『所属模块』不能为空。
- 测试所属区块为空 @『区块』不能为空。
- 测试区块名称为空 @『区块名称』不能为空。
- 测试account 字段字符超出长度 @『所属用户』长度应当不超过『30』,且大于『0』。
- 属性vision @rnd
- 属性width @1
- 属性height @3
- 测试所属模块为空第module条的0属性 @『所属模块』不能为空。
- 测试所属区块为空第code条的0属性 @『区块』不能为空。
- 测试区块名称为空第title条的0属性 @『区块名称』不能为空。
*/
@@ -24,6 +24,14 @@ title=测试 branchModel->checkBranchData();
timeout=0
cid=1
- 测试验证branchID 1 的数据 @2
- 测试验证branchID 2 的数据 @2
- 测试验证branchID 3 的数据 @2
- 测试验证branchID 4 的数据 @2
- 测试验证branchID 5 的数据 @2
- 测试验证branchID 6 的数据 @2
- 测试验证branchID 1000001 的数据 @1
*/
$branchID = array(1, 2, 3, 4, 5, 6, 1000001);
+37
View File
@@ -15,6 +15,43 @@ title=bugModel->getActiveBugs();
cid=1
pid=1
- 测试获取产品 1 2 3 类型 空 开始日期 上月 结束日期 下月 的bug @2,5,6,9
- 测试获取产品 1 2 3 类型 空 开始日期 上周 结束日期 下周 的bug @0
- 测试获取产品 1 2 3 类型 resolved 开始日期 上月 结束日期 下月 的bug @5,6,9
- 测试获取产品 1 2 3 类型 resolved 开始日期 上周 结束日期 下周 的bug @0
- 测试获取产品 1 2 3 类型 opened 开始日期 上月 结束日期 下月 的bug @2,5,6,9
- 测试获取产品 1 2 3 类型 opened 开始日期 上周 结束日期 下周 的bug @0
- 测试获取产品 4 5 6 类型 空 开始日期 上月 结束日期 下月 的bug @10,13,14,17,18
- 测试获取产品 4 5 6 类型 空 开始日期 上周 结束日期 下周 的bug @0
- 测试获取产品 4 5 6 类型 resolved 开始日期 上月 结束日期 下月 的bug @10,13,14,17,18
- 测试获取产品 4 5 6 类型 resolved 开始日期 上周 结束日期 下周 的bug @0
- 测试获取产品 4 5 6 类型 opened 开始日期 上月 结束日期 下月 的bug @10,13,14,17,18
- 测试获取产品 4 5 6 类型 opened 开始日期 上周 结束日期 下周 的bug @0
- 测试获取产品 7 8 9 类型 空 开始日期 上月 结束日期 下月 的bug @21,22,25,26
- 测试获取产品 7 8 9 类型 空 开始日期 上周 结束日期 下周 的bug @25,26
- 测试获取产品 7 8 9 类型 resolved 开始日期 上月 结束日期 下月 的bug @21,22,25,26
- 测试获取产品 7 8 9 类型 resolved 开始日期 上周 结束日期 下周 的bug @25,26
- 测试获取产品 7 8 9 类型 opened 开始日期 上月 结束日期 下月 的bug @21,22,25,26
- 测试获取产品 7 8 9 类型 opened 开始日期 上周 结束日期 下周 的bug @25,26
- 测试获取产品 空 类型 空 开始日期 上月 结束日期 下月 的bug @0
- 测试获取产品 空 类型 空 开始日期 上周 结束日期 下周 的bug @0
- 测试获取产品 空 类型 resolved 开始日期 上月 结束日期 下月 的bug @0
- 测试获取产品 空 类型 resolved 开始日期 上周 结束日期 下周 的bug @0
- 测试获取产品 空 类型 opened 开始日期 上月 结束日期 下月 的bug @0
- 测试获取产品 空 类型 opened 开始日期 上周 结束日期 下周 的bug @0
*/
$productIDList = array(array(1, 2, 3, 1000001), array(1, 3), 1, 1000001);
+1 -1
View File
@@ -3,7 +3,7 @@
/**
title=bugModel->getByList();
title=bugModel->getByIdList();
cid=1
pid=1
+7 -21
View File
@@ -10,36 +10,22 @@ timeout=0
cid=1
- 获取产品1 下的全部 bug 列表,查看数量是否正确 @5
- 获取产品2 下的全部 bug 列表,查看数量是否正确 @5
- 获取产品1,2 下的全部 bug 列表,查看数量是否正确 @10
- 获取不存在的产品下的全部 bug 列表,查看数量是否正确 @0
- 获取产品1 分支0 下的全部 bug 列表,查看数量是否正确 @5
- 获取产品1 分支0 下的 bug 列表,查看数量是否正确 @5
- 获取产品1 不存在的分支下的全部 bug 列表,查看数量是否正确 @5
- 获取产品1 不存在的分支下的全部 bug 列表,查看数量是否正确 @5
- 获取产品1 项目2 下的全部 bug 列表,查看数量是否正确 @5
- 获取产品1 不存在项目下的全部 bug 列表,查看数量是否正确 @5
- 获取产品1 下的不包含 bug1 的 bug 列表,查看数量是否正确 @4
- 获取产品1 下不包含 bug1 bug2 的全部 bug 列表,查看数量是否正确 @3
- 获取产品1 下的 bug 列表,查看第一个 bug 的名称是否正确第0条的title属性 @BUG1
- 获取产品2 下的 bug 列表,查看第一个 bug 的名称是否正确第0条的title属性 @BUG2
- 获取产品1 下的 bug 列表,查看第一个 bug 的名称是否正确第1条的title属性 @BUG1
- 获取产品2 下的 bug 列表,查看第一个 bug 的名称是否正确第2条的title属性 @BUG2
- 获取产品1,2 下的 bug 列表,查看第一个和第二个 bug 的名称是否正确
- 第0条的title属性 @BUG1
- 第0条的1:title属性 @BUG2
- 第1条的title属性 @BUG1
- 第2条的title属性 @BUG2
*/
@@ -87,6 +73,6 @@ r(count($bug->getBySearch('bug', $productIdList[0], $branch[0], $projectID[2], 0
r(count($bug->getBySearch('bug', $productIdList[0], $branch[0], $projectID[0], 0, 0, $excludeBugs[1]))) && p('') && e('4'); //获取产品1 下的不包含 bug1 的 bug 列表,查看数量是否正确
r(count($bug->getBySearch('bug', $productIdList[0], $branch[0], $projectID[0], 0, 0, $excludeBugs[2]))) && p('') && e('3'); //获取产品1 下不包含 bug1 bug2 的全部 bug 列表,查看数量是否正确
r($bug->getBySearch('bug', $productIdList[0], $branch[0], $projectID[0], 0, 0, $excludeBugs[0])) && p('0:title') && e('BUG1'); //获取产品1 下的 bug 列表,查看第一个 bug 的名称是否正确
r($bug->getBySearch('bug', $productIdList[1], $branch[0], $projectID[0], 0, 0, $excludeBugs[0])) && p('0:title') && e('BUG2'); //获取产品2 下的 bug 列表,查看第一个 bug 的名称是否正确
r($bug->getBySearch('bug', $productIdList[2], $branch[0], $projectID[0], 0, 0, $excludeBugs[0])) && p('0:title;1:title', ';') && e('BUG1;BUG2'); //获取产品1,2 下的 bug 列表,查看第一个和第二个 bug 的名称是否正确
r($bug->getBySearch('bug', $productIdList[0], $branch[0], $projectID[0], 0, 0, $excludeBugs[0])) && p('1:title') && e('BUG1'); //获取产品1 下的 bug 列表,查看第一个 bug 的名称是否正确
r($bug->getBySearch('bug', $productIdList[1], $branch[0], $projectID[0], 0, 0, $excludeBugs[0])) && p('2:title') && e('BUG2'); //获取产品2 下的 bug 列表,查看第一个 bug 的名称是否正确
r($bug->getBySearch('bug', $productIdList[2], $branch[0], $projectID[0], 0, 0, $excludeBugs[0])) && p('1:title;2:title', ';') && e('BUG1;BUG2'); //获取产品1,2 下的 bug 列表,查看第一个和第二个 bug 的名称是否正确
+4 -23
View File
@@ -8,69 +8,50 @@ zenData('bug')->loadYaml('casebug')->gen(20);
/**
title=bugModel->getCaseBugs();
timeout=0
cid=1
pid=1
- 测试获取runID为0 caseID为2的bug @测试单转Bug1,测试单转Bug11
- 测试获取runID为0 caseID为6的bug @SonarQube_Bug2,SonarQube_Bug12
- 测试获取runID为0 caseID为10的bug @测试单转Bug3,测试单转Bug13
- 测试获取runID为0 caseID不存在的bug @0▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫
- 测试获取runID为0 caseID不存在的bug @0
- 测试获取runID为2 caseID为0的bug @测试单转Bug1,测试单转Bug11
- 测试获取runID为2 caseID为2的bug @测试单转Bug1,测试单转Bug11
- 测试获取runID为2 caseID为6的bug @测试单转Bug1,测试单转Bug11
- 测试获取runID为2 caseID为10的bug @测试单转Bug1,测试单转Bug11
- 测试获取runID为2 caseID不存在的bug @测试单转Bug1,测试单转Bug11
- 测试获取runID为6 caseID为0的bug @SonarQube_Bug2,SonarQube_Bug12
- 测试获取runID为6 caseID为2的bug @SonarQube_Bug2,SonarQube_Bug12
- 测试获取runID为6 caseID为6的bug @SonarQube_Bug2,SonarQube_Bug12
- 测试获取runID为6 caseID为10的bug @SonarQube_Bug2,SonarQube_Bug12
- 测试获取runID为6 caseID不存在的bug @SonarQube_Bug2,SonarQube_Bug12
- 测试获取runID为10 caseID为0的bug @测试单转Bug3,测试单转Bug13
- 测试获取runID为10 caseID为2的bug @测试单转Bug3,测试单转Bug13
- 测试获取runID为10 caseID为6的bug @测试单转Bug3,测试单转Bug13
- 测试获取runID为10 caseID为10的bug @测试单转Bug3,测试单转Bug13
- 测试获取runID为10 caseID不存在的bug @测试单转Bug3,测试单转Bug13
- 测试获取runID为不存在 caseID为0的bug @0
- 测试获取runID为不存在 caseID为2的bug @0
- 测试获取runID为不存在 caseID为6的bug @0
- 测试获取runID为不存在 caseID为10的bug @0
- 测试获取runID为不存在 caseID不存在的bug @0
*/
+31 -3
View File
@@ -30,12 +30,41 @@ initData();
/**
title=bugModel->getExecutionBugs();
timeout=0
cid=1
pid=1
- 测试获取项目ID为2的bug
- 第0条的title属性 @BUG10
- 第1条的title属性 @BUG8
- 第2条的title属性 @BUG6
- 第3条的title属性 @BUG4
- 第4条的title属性 @BUG2
- 测试获取项目ID为2不包含id为10的bug
- 第0条的title属性 @BUG8
- 第1条的title属性 @BUG6
- 第2条的title属性 @BUG4
- 第3条的title属性 @BUG2
- 测试获取项目ID为2, 影响版本为1的bug
- 第0条的title属性 @BUG9
- 第1条的title属性 @BUG6
- 第2条的title属性 @BUG3
- 测试获取项目ID为2,产品ID为2的bug
- 第0条的title属性 @BUG10
- 第1条的title属性 @BUG6
- 第2条的title属性 @BUG2
- 测试获取项目ID为2,产品ID为2, 分支为1的bug第0条的title属性 @BUG6
- 测试获取项目ID为2,未解决的bug
- 第0条的title属性 @BUG8
- 第1条的title属性 @BUG2
- 测试获取项目ID为2,未关闭的bug
- 第0条的title属性 @BUG10
- 第1条的title属性 @BUG8
- 第2条的title属性 @BUG4
- 第3条的title属性 @BUG2
*/
$executionIdList = array(2, 1, 1000001);
$executionIdList = array(2);
$productIdList = array(1, 2);
$branchIdList = array('1');
$buildIdList = array('1', 'trunk');
@@ -51,4 +80,3 @@ r($bug->getExecutionBugsTest($executionIdList[0], $productIdList[1], 'all'))
r($bug->getExecutionBugsTest($executionIdList[0], $productIdList[1], $branchIdList[0])) && p('0:title') && e('BUG6'); // 测试获取项目ID为2,产品ID为2, 分支为1的bug
r($bug->getExecutionBugsTest($executionIdList[0], 0, 'all', 0, $typeList[0])) && p('0:title;1:title') && e('BUG8;BUG2'); // 测试获取项目ID为2,未解决的bug
r($bug->getExecutionBugsTest($executionIdList[0], 0, 'all', 0, $typeList[1])) && p('0:title;1:title;2:title;3:title') && e('BUG10;BUG8;BUG4;BUG2'); // 测试获取项目ID为2,未关闭的bug
r($bug->getExecutionBugsTest($executionIdList[1], 0, 'all', 0, 'all', $paramList[0])) && p('0:title;1:title;2:title;3:title;4:title') && e('BUG9;BUG7;BUG5;BUG3;BUG1'); // 测试获取项目ID为1,模块为1的bug
@@ -8,21 +8,17 @@ zenData('build')->loadYaml('build')->gen(100);
/**
title=bugModel->getLinkedExecutionByIdList();
timeout=0
cid=1
pid=1
- 测试获取版本ID 1 3 5 的执行 @1,3
- 测试获取版本ID 2 4 6 的执行 @2,4
- 测试获取版本ID 41 51 61 的执行 @39,49,59,2
- 测试获取版本ID 10 30 70 的执行 @8,28,68,2
- 测试获取版本ID 不存在 的执行 @0
*/
+14 -1
View File
@@ -12,8 +12,21 @@ su('admin');
/**
title=bugModel->getPlanBugs();
timeout=0
cid=1
pid=1
- 查询计划1 状态为all的bug属性title @BUG3,BUG2,BUG1
- 查询计划1 状态为active的bug属性title @BUG3,BUG2,BUG1
- 查询计划1 状态为resolved的bug属性title @0
- 查询计划1 状态为closed的bug属性title @0
- 查询计划4 状态为all的bug属性title @BUG6,BUG5,BUG4
- 查询计划4 状态为active的bug属性title @BUG6,BUG5,BUG4
- 查询计划4 状态为resolved的bug属性title @0
- 查询计划4 状态为closed的bug属性title @0
- 查询计划7 状态为all的bug属性title @BUG9,bug8,缺陷!()(){}|+=^&*#测试bug名称到底可以有多长!#¥&*":.<>。?/()7
- 查询计划7 状态为active的bug属性title @BUG9,bug8,缺陷!()(){}|+=^&*#测试bug名称到底可以有多长!#¥&*":.<>。?/()7
- 查询计划7 状态为resolved的bug属性title @0
- 查询计划7 状态为closed的bug属性title @0
*/
+1 -1
View File
@@ -6,8 +6,8 @@ include dirname(__FILE__, 2) . '/lib/bug.unittest.class.php';
/**
title=bugModel->getProductBugs();
timeout=0
cid=1
pid=1
- 测试获取产品ID为1 2 3 的bug @1,2,3,4,5,6,7,8,9
+39 -46
View File
@@ -34,46 +34,39 @@ timeout=0
cid=1
- 测试获取项目ID为2的bug
- 第0条的title属性 @BUG10
- 第1条的title属性 @BUG8
- 第2条的title属性 @BUG6
- 第3条的title属性 @BUG4
- 第4条的title属性 @BUG2
- 测试获取项目ID为2不包含id为10的bug
- 第0条的title属性 @BUG8
- 第1条的title属性 @BUG6
- 第2条的title属性 @BUG4
- 第3条的title属性 @BUG2
- 测试获取项目ID为2, 影响版本为1的bug
- 第0条的title属性 @BUG9
- 第1条的title属性 @BUG6
- 第2条的title属性 @BUG3
- 测试获取项目ID为2,产品ID为2的bug
- 第0条的title属性 @BUG10
- 第1条的title属性 @BUG6
- 第10条的title属性 @BUG10
- 第8条的title属性 @BUG8
- 第6条的title属性 @BUG6
- 第4条的title属性 @BUG4
- 第2条的title属性 @BUG2
- 测试获取项目ID为2,产品ID为2, 分支为1的bug第0条的title属性 @BUG6
- 测试获取项目ID为2,未解决的bug
- 第0条的title属性 @BUG8
- 第1条的title属性 @BUG2
- 测试获取项目ID为2,未关闭的bug
- 第0条的title属性 @BUG10
- 第1条的title属性 @BUG8
- 第2条的title属性 @BUG4
- 第3条的title属性 @BUG2
- 测试获取项目ID为1,模块为1的bug
- 第0条的title属性 @BUG9
- 第1条的title属性 @BUG7
- 第2条的title属性 @BUG5
- 测试获取项目ID为2不包含id为10的bug
- 第8条的title属性 @BUG8
- 第6条的title属性 @BUG6
- 第4条的title属性 @BUG4
- 第2条的title属性 @BUG2
- 测试获取项目ID为2, 影响版本为1的bug
- 第9条的title属性 @BUG9
- 第6条的title属性 @BUG6
- 第3条的title属性 @BUG3
- 第4条的title属性 @BUG1
- 测试获取项目ID为2,产品ID为2的bug
- 第10条的title属性 @BUG10
- 第6条的title属性 @BUG6
- 第2条的title属性 @BUG2
- 测试获取项目ID为2,产品ID为2, 分支为1的bug第6条的title属性 @BUG6
- 测试获取项目ID为2,未解决的bug
- 第8条的title属性 @BUG8
- 第2条的title属性 @BUG2
- 测试获取项目ID为2,未关闭的bug
- 第10条的title属性 @BUG10
- 第8条的title属性 @BUG8
- 第4条的title属性 @BUG4
- 第2条的title属性 @BUG2
- 测试获取项目ID为1,模块为1的bug
- 第9条的title属性 @BUG9
- 第7条的title属性 @BUG7
- 第5条的title属性 @BUG5
- 第3条的title属性 @BUG3
- 第1条的title属性 @BUG1
*/
@@ -86,11 +79,11 @@ $paramList = array(1);
$excludeBugs = array(10);
$bug = new bugTest();
r($bug->getProjectBugsTest($projectIdList[0], 0, 'all')) && p('0:title;1:title;2:title;3:title;4:title') && e('BUG10;BUG8;BUG6;BUG4;BUG2'); // 测试获取项目ID为2的bug
r($bug->getProjectBugsTest($projectIdList[0], 0, 'all', 0, 'all', 0, $excludeBugs[0])) && p('0:title;1:title;2:title;3:title') && e('BUG8;BUG6;BUG4;BUG2'); // 测试获取项目ID为2不包含id为10的bug
r($bug->getProjectBugsTest($projectIdList[0], 0, 'all', $buildIdList[0])) && p('0:title;1:title;2:title') && e('BUG9;BUG6;BUG3'); // 测试获取项目ID为2, 影响版本为1的bug
r($bug->getProjectBugsTest($projectIdList[0], $productIdList[1], 'all')) && p('0:title;1:title;2:title') && e('BUG10;BUG6;BUG2'); // 测试获取项目ID为2,产品ID为2的bug
r($bug->getProjectBugsTest($projectIdList[0], $productIdList[1], $branchIdList[0])) && p('0:title') && e('BUG6'); // 测试获取项目ID为2,产品ID为2, 分支为1的bug
r($bug->getProjectBugsTest($projectIdList[0], 0, 'all', 0, $typeList[0])) && p('0:title;1:title') && e('BUG8;BUG2'); // 测试获取项目ID为2,未解决的bug
r($bug->getProjectBugsTest($projectIdList[0], 0, 'all', 0, $typeList[1])) && p('0:title;1:title;2:title;3:title') && e('BUG10;BUG8;BUG4;BUG2'); // 测试获取项目ID为2,未关闭的bug
r($bug->getProjectBugsTest($projectIdList[1], 0, 'all', 0, 'all', $paramList[0])) && p('0:title;1:title;2:title;3:title;4:title') && e('BUG9;BUG7;BUG5;BUG3;BUG1'); // 测试获取项目ID为1,模块为1的bug
r($bug->getProjectBugsTest($projectIdList[0], 0, 'all')) && p('10:title;8:title;6:title;4:title;2:title') && e('BUG10;BUG8;BUG6;BUG4;BUG2'); // 测试获取项目ID为2的bug
r($bug->getProjectBugsTest($projectIdList[0], 0, 'all', 0, 'all', 0, $excludeBugs[0])) && p('8:title;6:title;4:title;2:title') && e('BUG8;BUG6;BUG4;BUG2'); // 测试获取项目ID为2不包含id为10的bug
r($bug->getProjectBugsTest($projectIdList[0], 0, 'all', $buildIdList[0])) && p('9:title;6:title;3:title') && e('BUG9;BUG6;BUG3'); // 测试获取项目ID为2, 影响版本为1的bug
r($bug->getProjectBugsTest($projectIdList[0], $productIdList[1], 'all')) && p('10:title;6:title;2:title') && e('BUG10;BUG6;BUG2'); // 测试获取项目ID为2,产品ID为2的bug
r($bug->getProjectBugsTest($projectIdList[0], $productIdList[1], $branchIdList[0])) && p('6:title') && e('BUG6'); // 测试获取项目ID为2,产品ID为2, 分支为1的bug
r($bug->getProjectBugsTest($projectIdList[0], 0, 'all', 0, $typeList[0])) && p('8:title;2:title') && e('BUG8;BUG2'); // 测试获取项目ID为2,未解决的bug
r($bug->getProjectBugsTest($projectIdList[0], 0, 'all', 0, $typeList[1])) && p('10:title;8:title;4:title;2:title') && e('BUG10;BUG8;BUG4;BUG2'); // 测试获取项目ID为2,未关闭的bug
r($bug->getProjectBugsTest($projectIdList[1], 0, 'all', 0, 'all', $paramList[0])) && p('9:title;7:title;5:title;3:title;1:title') && e('BUG9;BUG7;BUG5;BUG3;BUG1'); // 测试获取项目ID为1,模块为1的bug
+14 -1
View File
@@ -5,12 +5,25 @@ include dirname(__FILE__, 2) . '/lib/bug.unittest.class.php';
zenData('bug')->gen(10);
zenData('product')->gen(10);
zenData('build')->gen(20);
zenData('project')->loadYaml('execution2')->gen(20);
/**
title=bugModel->getReleaseBugs();
timeout=0
cid=1
pid=1
- 测试获取buildID为11 productID为2的bug @BUG4,BUG5,BUG6
- 测试获取buildID为12 productID为2的bug @0
- 测试获取buildID为13 productID为1的bug @BUG1,BUG2,BUG3
- 测试获取buildID为14 productID为2的bug @BUG4,BUG5,BUG6
- 测试获取buildID为15 productID为1的bug @BUG1,BUG2,BUG3
- 测试获取buildID为16 productID为2的bug @BUG4,BUG5,BUG6
*/
+28 -1
View File
@@ -10,8 +10,35 @@ zenData('product')->gen(100);
/**
title=bugModel->getUserBugs();
timeout=0
cid=1
pid=1
- 测试获取用户admin 被指派的 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 的bug数量 @30
- 测试获取用户admin 关闭的 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 的bug数量 @30
- 测试获取用户admin 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 的bug数量 @0
- 测试获取用户admin 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 没有queryID 没有query值 的bug数量 @90
- 测试获取用户admin 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 有queryID 没有query值 的bug数量 @18
- 测试获取用户admin 被指派的 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 没有queryID 有query值 的bug数量 @18
- 测试获取用户admin 被指派的 不限制数量的 executionID为0的 queryID 为1的 调用方法为work 有queryID 有query值的 的bug数量 @18
- 测试获取用户admin 被指派的 限制数量10的 executionID为0的 queryID 为0的 调用方法为work 的bug数量 @10
- 测试获取用户admin 被指派的 限制数量10的 executionID为0的 queryID 为1的 调用方法为work 有queryID query值的 的bug数量 @10
- 测试获取用户admin 被指派的 不限制数量的 executionID为101的 queryID 为0的 调用方法为work 的bug数量 @3
- 测试获取用户admin 被指派的 不限制数量的 executionID为101的 queryID 为1的 调用方法为work 有queryID query值的 的bug数量 @1
- 测试获取用户admin 被指派的 不限制数量的 executionID为0的 queryID 为0的 调用方法为contributeBug 的bug数量 @30
- 测试获取用户admin 被指派的 不限制数量的 executionID为0的 queryID 为0的 调用方法为contributeBug 有queryID query值的 的bug数量 @18
- 测试获取用户admin 被指派的 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 的bug数量 @20
- 测试获取用户admin 关闭的 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 的bug数量 @0
- 测试获取用户admin 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 的bug数量 @0
- 测试获取用户admin 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 没有queryID 没有query值 的bug数量 @0
- 测试获取用户admin 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 有queryID 没有query值 的bug数量 @0
- 测试获取用户admin 被指派的 不限制数量的 executionID为0的 queryID 为0的 调用方法为work 没有queryID 有query值 的bug数量 @0
- 测试获取用户admin 被指派的 不限制数量的 executionID为0的 queryID 为1的 调用方法为work 有queryID 有query值的 的bug数量 @0
- 测试获取用户admin 被指派的 限制数量10的 executionID为0的 queryID 为0的 调用方法为work 的bug数量 @10
- 测试获取用户admin 被指派的 限制数量10的 executionID为0的 queryID 为1的 调用方法为work 有queryID query值的 的bug数量 @0
- 测试获取用户admin 被指派的 不限制数量的 executionID为101的 queryID 为0的 调用方法为work 的bug数量 @0
- 测试获取用户admin 被指派的 不限制数量的 executionID为101的 queryID 为1的 调用方法为work 有queryID query值的 的bug数量 @0
- 测试获取用户admin 被指派的 不限制数量的 executionID为0的 queryID 为0的 调用方法为contributeBug 的bug数量 @20
- 测试获取用户admin 被指派的 不限制数量的 executionID为0的 queryID 为0的 调用方法为contributeBug 有queryID query值的 的bug数量 @0
*/
+1 -24
View File
@@ -10,55 +10,32 @@ su('admin');
/**
title=bugModel->isClickable();
timeout=0
cid=1
pid=1
- 状态为active confirmed为0的bug能否执行confirm动作 @1
- 状态为active confirmed为0的bug能否执行resolve动作 @1
- 状态为active confirmed为0的bug能否执行close动作 @2
- 状态为active confirmed为0的bug能否执行activate动作 @2
- 状态为active confirmed为0的bug能否执行tostory动作 @1
- 状态为active confirmed为0的bug能否执行test动作 @1
- 状态为active confirmed为1的bug能否执行confirm动作 @2
- 状态为active confirmed为1的bug能否执行resolve动作 @1
- 状态为active confirmed为1的bug能否执行close动作 @2
- 状态为active confirmed为1的bug能否执行activate动作 @2
- 状态为active confirmed为1的bug能否执行tostory动作 @1
- 状态为active confirmed为1的bug能否执行test动作 @1
- 状态为resolved的bug能否执行confirm动作 @2
- 状态为resolved的bug能否执行resolve动作 @2
- 状态为resolved的bug能否执行close动作 @1
- 状态为resolved的bug能否执行activate动作 @1
- 状态为resolved的bug能否执行tostory动作 @2
- 状态为resolved的bug能否执行test动作 @1
- 状态为closed的bug能否执行confirm动作 @2
- 状态为closed的bug能否执行resolve动作 @2
- 状态为closed的bug能否执行close动作 @2
- 状态为closed的bug能否执行activate动作 @1
- 状态为closed的bug能否执行tostory动作 @2
- 状态为closed的bug能否执行test动作 @1
*/
@@ -297,7 +297,7 @@ class buildTest
{
$this->objectModel->linkStory($buildID, $stories);
$this->objectModel->batchUnlinkStory($buildID, $stories);
$objects = $this->objectModel->dao->select('*')->from(TABLE_BUILD)->where('id')->in($buildID)->fetchAll('id');
$objects = $this->objectModel->dao->select('id,project,stories,execution')->from(TABLE_BUILD)->where('id')->in($buildID)->fetchAll('id');
if(dao::isError()) return dao::getError();
+10 -2
View File
@@ -6,10 +6,18 @@ title=测试 buildModel->batchUnlinkStory();
timeout=0
cid=1
- 批量解除项目版本需求
- 第1条的project属性 @11
- 第1条的stories属性 @~~
- 批量解除执行版本需求
- 第11条的stories属性 @42,44
- 第11条的execution属性 @101
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/build.unittest.class.php';
zenData('build')->gen(20);
zenData('story')->gen(100);
su('admin');
$buildIDList = array('1', '11');
@@ -17,5 +25,5 @@ $stories = array('2', '4');
$build = new buildTest();
r($build->batchUnlinkStoryTest($buildIDList[0],$stories)) && p('1:project|stories', '|') && e('11|~~'); //批量解除项目版本需求
r($build->batchUnlinkStoryTest($buildIDList[1],$stories)) && p('11:stories|execution', '|') && e('42,44|101'); //批量解除执行版本需求
r($build->batchUnlinkStoryTest($buildIDList[0], $stories)) && p('1:project|stories', '|') && e('11|~~'); //批量解除项目版本需求
r($build->batchUnlinkStoryTest($buildIDList[1], $stories)) && p('11:stories|execution', '|') && e('42,44|101'); //批量解除执行版本需求
+23 -2
View File
@@ -10,11 +10,32 @@ title=测试 commonModel::setApproval();
timeout=0
cid=1
- 查看是否开启了审批流程 @0
- 查看开源版是否开启了审批流程 @0
- 查看企业版是否开启了审批流程 @1
- 查看旗舰版是否开启了审批流程 @1
- 查看IPD版本是否开启了审批流程 @1
- 查看OR界面下的IPD版本是否开启了审批流程 @0
*/
global $tester, $config;
$config->edition = 'open';
$tester->loadModel('common')->setApproval();
r($config->openedApproval) && p('') && e('0'); // 查看开源版是否开启了审批流程
r($config->openedApproval) && p('') && e('0'); // 查看是否开启了审批流程
$config->edition = 'biz';
$tester->loadModel('common')->setApproval();
r($config->openedApproval) && p('') && e('1'); // 查看企业版是否开启了审批流程
$config->edition = 'max';
$tester->loadModel('common')->setApproval();
r($config->openedApproval) && p('') && e('1'); // 查看旗舰版是否开启了审批流程
$config->edition = 'ipd';
$tester->loadModel('common')->setApproval();
r($config->openedApproval) && p('') && e('1'); // 查看IPD版本是否开启了审批流程
$config->vision = 'or';
$config->edition = 'ipd';
$tester->loadModel('common')->setApproval();
r($config->openedApproval) && p('') && e('0'); // 查看OR界面下的IPD版本是否开启了审批流程
+22 -11
View File
@@ -12,19 +12,30 @@ zenData('dept')->gen(10);
/**
title=测试companyModel->getUsersTest();
timeout=0
cid=1
pid=1
查询内部人员 >> admin,admin
查询内部人员统计 >> 999
查询外部人员 >> outside1,外用户1
查询外部部人员统计 >> 1
根据部门查询人员 >> admin,admin,1
type未传值按部门查询人员 >> 999
根据部门查询人员统计 >> 10
根据查询条件查询 >> admin,admin
根据查询条件'查询统计 >> 999
根据account降序排序 >> user99,用户99
- 查询内部人员
- 第0条的account属性 @admin
- 第0条的realname属性 @admin
- 查询内部人员统计 @999
- 查询外部人员
- 第0条的account属性 @outside1
- 第0条的realname属性 @外用户1
- 查询外部部人员统计 @1
- 根据部门查询人员
- 第0条的account属性 @admin
- 第0条的realname属性 @admin
- 第0条的dept属性 @1
- type未传值按部门查询人员 @999
- 根据部门查询人员统计 @10
- 根据查询条件查询
- 第0条的account属性 @admin
- 第0条的realname属性 @admin
- 根据查询条件'查询统计 @1
- 根据account降序排序
- 第0条的account属性 @admin
- 第0条的realname属性 @admin
*/