Merge branch ztflow-liumengyi-release/21.7.2#liumengyi of zentao/zentaopms (#9147)

This commit is contained in:
刘刚
2025-06-05 17:20:42 +08:00
committed by Gitfox
24 changed files with 256 additions and 72 deletions
@@ -57,8 +57,8 @@ global $tester;
$product = $tester->loadModel('product');
su('admin');
$product->app->user->admin = true;
$product->app->moduleName = 'product';
$product->app->methodName = 'project';
$product->app->moduleName = $product->app->rawModule = 'product';
$product->app->methodName = $product->app->rawMethod = 'project';
r(count($product->getProjectListByProduct($productID = 0, 'all', '', false, 'order_desc'))) && p() && e('0');
r(count($product->getProjectListByProduct($productID = 1, 'all', '', false, 'order_desc'))) && p() && e('17');
@@ -6,6 +6,13 @@ title=productpanModel->getGroupByProduct();
timeout=0
cid=1
- 传入正常product 1,2; @2
- 传入部分不存在product; @1
- 传入不存在product @0
- 传入正常product 1,2;未过期param @1
- 传入部分不存在product;未过期param @1
- 传入不存在product; 未过期param @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
@@ -6,6 +6,13 @@ title=prodeutplanModel->linkProject();
timeout=0
cid=1
- 测试敏捷项目关联子计划 @0
- 测试瀑布项目关联子计划 @0
- 测试看板项目关联子计划 @0
- 测试敏捷项目关联普通计划 @0
- 测试瀑布项目关联普通计划 @0
- 测试看板项目关联普通计划 @0
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/productplan.unittest.class.php';
@@ -6,6 +6,12 @@ title=productpanModel->unlinkStory();
timeout=0
cid=1
- 不存在的需求属性plan @0
- 移除不存在的计划属性plan @,1
- 移除只有一条的计划属性plan @~~
- 移除两个计划中的一个属性plan @,3
- 移除多个计划中的一个属性plan @,5,7,8
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/productplan.unittest.class.php';
+15 -5
View File
@@ -22,13 +22,23 @@ title=测试 programModel::getList();
timeout=0
cid=1
- 查看所有项目和项目集的个数 @20
- 查看分页后项目集和项目的个数 @10
- 查看所有'closed'的项目和项目集的个数 @5
- 查看所有'suspended'的项目和项目集的个数 @5
- 按照项目和项目集名称倒序获取第一个ID @9
- 按照ID正序获取项目和项目集列表第一个ID @1
- 获取顶级项目集个数 @10
- 获取分页后顶级项目集个数 @10
- 获取所有项目集个数 @10
*/
global $tester, $app;
$programTester = new programTest();
$app->moduleName = 'program';
$app->methodName = 'browse';
$app->moduleName = $app->rawModule = 'program';
$app->methodName = $app->rawMethod = 'browse';
$app->loadClass('pager', true);
$pager = new pager(0, 10, 1);
@@ -40,7 +50,7 @@ $namedescPrograms = $programTester->getListTest('all', 'name_desc');
$idascPrograms = $programTester->getListTest('all', 'id_asc');
$topPrograms = $programTester->getListTest('all', 'id_asc', 'top');
$topPagePrograms = $programTester->getListTest('all', 'id_asc', 'top', array(), $pager);
$childPrograms = $programTester->getListTest('all', 'id_asc', 'child', $topPrograms);
$childPrograms = $programTester->getListTest('all', 'id_asc', 'child', array_keys($topPrograms));
r(count($allPorgrams)) && p() && e('20'); // 查看所有项目和项目集的个数
r(count($pagerPrograms)) && p() && e('10'); // 查看分页后项目集和项目的个数
@@ -48,6 +58,6 @@ r(count($closedPrograms)) && p() && e('5'); // 查看所有'closed'的项目
r(count($suspendedPrograms)) && p() && e('5'); // 查看所有'suspended'的项目和项目集的个数
r(key($namedescPrograms)) && p() && e('9'); // 按照项目和项目集名称倒序获取第一个ID
r(key($idascPrograms)) && p() && e('1'); // 按照ID正序获取项目和项目集列表第一个ID
r(count($topPrograms)) && p() && e('20'); // 获取顶级项目集个数
r(count($topPrograms)) && p() && e('10'); // 获取顶级项目集个数
r(count($topPagePrograms)) && p() && e('10'); // 获取分页后顶级项目集个数
r(count($childPrograms)) && p() && e('20'); // 获取所有项目集个数
r(count($childPrograms)) && p() && e('10'); // 获取所有项目集个数
@@ -44,6 +44,33 @@ title=测试 programModel::getProjectList();
timeout=0
cid=1
- 获取所有项目列表数量 @6
- 获取未完成项目列表数量 @3
- 获取按照开始日期倒序排列的项目列表数量 @3
- 带项目集名称的项目列表数量 @3
- 带项目集名称的项目列表数量 @3
- 获取数据库所有项目列表数量 @3
- 获取项目集1下全部项目的数量 @5
- 获取项目集1下未开始项目的数量 @1
- 获取项目集1下未关闭项目的数量 @2
- 获取项目集1下进行中项目的数量 @1
- 获取项目集1下已暂停项目的数量 @1
- 获取项目集1下已关闭项目的数量 @2
- 获取项目集1下进行中项目的数量 @1
- 不带项目集名称的项目名称第4条的name属性 @项目2
- 获取未完成项目名称第8条的name属性 @项目6
- 获取按照开始日期倒序排列的项目名称第8条的name属性 @项目6
- 带项目集名称的项目名称第5条的name属性 @项目集2/项目3
- 带项目集名称的项目名称第5条的name属性 @项目集2/项目3
- 获取数据库所有项目的名称第3条的name属性 @项目集1/项目1
- 获取项目集1下全部项目的名称第3条的name属性 @项目1
- 获取项目集1下未开始项目的名称第8条的name属性 @项目6
- 获取项目集1下未关闭项目的名称第3条的name属性 @项目1
- 获取项目集1下进行中项目的名称第3条的name属性 @项目1
- 获取项目集1下已暂停项目的名称第7条的name属性 @项目5
- 获取项目集1下已关闭项目的名称第4条的name属性 @项目2
- 获取项目集1下进行中项目的名称第3条的name属性 @项目1
*/
global $tester;
@@ -7,17 +7,17 @@ timeout=0
cid=1
- 更新项目 11 的统计信息,获取项目 11 的统计信息
- 属性progress @25.00
- 属性progress @22.80
- 属性teamCount @4
- 属性estimate @46
- 属性estimate @51
- 属性consumed @13
- 属性left @39
- 属性left @44
- 更新项目 60 的统计信息,获取项目 60 的统计信息
- 属性progress @31.80
- 属性progress @28.00
- 属性teamCount @0
- 属性estimate @18
- 属性estimate @21
- 属性consumed @7
- 属性left @15
- 属性left @18
- 更新项目 61 的统计信息,获取项目 61 的统计信息
- 属性progress @0.00
- 属性teamCount @0
@@ -52,8 +52,8 @@ su('admin');
$projectIdList = array(11, 60, 61, 100, 1111);
$programTester = new programTest();
r($programTester->refreshProjectStatsTest($projectIdList[0])) && p('progress,teamCount,estimate,consumed,left') && e('25.00,4,46,13,39'); // 更新项目 11 的统计信息,获取项目 11 的统计信息
r($programTester->refreshProjectStatsTest($projectIdList[1])) && p('progress,teamCount,estimate,consumed,left') && e('31.80,0,18,7,15'); // 更新项目 60 的统计信息,获取项目 60 的统计信息
r($programTester->refreshProjectStatsTest($projectIdList[0])) && p('progress,teamCount,estimate,consumed,left') && e('22.80,4,51,13,44'); // 更新项目 11 的统计信息,获取项目 11 的统计信息
r($programTester->refreshProjectStatsTest($projectIdList[1])) && p('progress,teamCount,estimate,consumed,left') && e('28.00,0,21,7,18'); // 更新项目 60 的统计信息,获取项目 60 的统计信息
r($programTester->refreshProjectStatsTest($projectIdList[2])) && p('progress,teamCount,estimate,consumed,left') && e('0.00,0,0,0,0'); // 更新项目 61 的统计信息,获取项目 61 的统计信息
r($programTester->refreshProjectStatsTest($projectIdList[3])) && p('progress,teamCount,estimate,consumed,left') && e('0.00,0,0,0,0'); // 更新项目 100 的统计信息,获取项目 100 的统计信息
r($programTester->refreshProjectStatsTest($projectIdList[4])) && p('progress,teamCount,estimate,consumed,left') && e('0,0,0,0,0'); // 更新不存在的项目 1111 的统计信息,获取不存在的项目 1111 的统计信息
+7 -3
View File
@@ -8,7 +8,9 @@ cid=0
- 传入空参数 @0
- 测试修改plan的 name 值属性name @修改后的阶段
- 测试子阶段的 acl 值第0条的acl属性 @private
- 测试修改plan的 id 值属性id @8
- 测试子阶段的 acl 值第0条的acl属性 @program
- 测试子阶段的 id 值第0条的id属性 @9
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
@@ -28,5 +30,7 @@ r($programplan->objectModel->update(0, 0, null)) && p() && e('0'); // 传入空
$plan = $programplan->updateTest($planID, $projectID, $changeName);
$childPlans = $programplan->objectModel->dao->select('*')->from(TABLE_PROJECT)->where('parent')->eq($planID)->fetchAll();
r((array)$plan) && p('name') && e('修改后的阶段'); // 测试修改plan的 name 值
r($childPlans) && p('0:acl') && e('private'); // 测试子阶段的 acl 值
r((array)$plan) && p('name') && e('修改后的阶段'); // 测试修改plan的 name 值
r((array)$plan) && p('id') && e('8'); // 测试修改plan的 id 值
r($childPlans) && p('0:acl') && e('program'); // 测试子阶段的 acl 值
r($childPlans) && p('0:id') && e('9'); // 测试子阶段的 id 值
+14 -1
View File
@@ -42,6 +42,19 @@ title=测试 projectModel::getOverviewList($status, $projectID, $orderBy);
timeout=0
cid=1
- 获取未开始的项目数量 @3
- 获取状态不为done和closed的项目数量 @7
- 根据项目ID获取项目 @1
- 获取不存在的项目 @0
- 根据 不匹配的项目ID和状态 获取项目数量 @0
- 根据 匹配的项目ID和状态 获取项目数量 @1
- 按照ID正序获取项目列表,查看排第一个的项目详情
- 属性id @11
- 属性name @项目11
- 按照项目名称倒序获取项目列表,查看排第一个的项目详情
- 属性id @19
- 属性name @项目19
*/
global $tester;
@@ -53,7 +66,7 @@ r(count($projectTester->getOverviewList('undone'))) && p() && e('7'); // 获取
r(count($projectTester->getOverviewList('', 11))) && p() && e('1'); // 根据项目ID获取项目
r(count($projectTester->getOverviewList('', 10000))) && p() && e('0'); // 获取不存在的项目
r(count($projectTester->getOverviewList('doing', 18))) && p() && e('0'); // 根据 不匹配的项目ID和状态 获取项目数量
r(count($projectTester->getOverviewList('doing', 30))) && p() && e('0'); // 根据 不匹配的项目ID和状态 获取项目数量
r(count($projectTester->getOverviewList('doing', 12))) && p() && e('1'); // 根据 匹配的项目ID和状态 获取项目数量
r(current($projectTester->getOverviewList('all', 0, 'id_asc'))) && p('id,name') && e('11,项目11'); // 按照ID正序获取项目列表,查看排第一个的项目详情
@@ -7,17 +7,15 @@ title=测试 projectModel->getProjectExecutionPairs();
cid=1
- 查看全部项目与执行键值对数组数量为6 @2
- 查看瀑布项目编号为3的阶段4 @0
- 查看瀑布项目编号为3的阶段5 @2
- 查看scrum项目编号为6的无执行 @5
- 查看状态为未完成执行的全部项目与执行键值对数组数量为6 @2
- 查看状态为未完成执行的瀑布项目编号为3的阶段4 @0
- 查看状态为未完成执行的瀑布项目编号为3的阶段5 @2
- 查看状态为未完成执行的scrum项目编号为6的无执行 @5
- 查看状态为进行中执行的全部项目与执行键值对数组数量为6 @1
- 查看状态为进行中执行的瀑布项目编号为3的阶段4 @0
- 查看状态为进行中执行的瀑布项目编号为3的阶段5 @2
- 查看状态为进行中执行的scrum项目编号为6的无执行 @0
- 查看状态为未完成执行的全部项目与执行键值对数组数量为6 @0
- 查看状态为进行中执行的全部项目与执行键值对数组数量为6 @0
*/
@@ -34,26 +32,16 @@ $undoneMultipleProjectPairs = $tester->project->getProjectExecutionPairs('1', 'u
$doingMultipleProjectPairs = $tester->project->getProjectExecutionPairs('1', 'doing');
r(count($allProjectPairs)) && p() && e('2'); // 查看全部项目与执行键值对数组数量为6
r($allProjectPairs[0]) && p() && e('0'); // 查看瀑布项目编号为3的阶段4
r($allProjectPairs[1]) && p() && e('2'); // 查看瀑布项目编号为3的阶段5
r($allProjectPairs[3]) && p() && e('5'); // 查看scrum项目编号为6的无执行
r(count($undoneProjectPairs)) && p() && e('2'); // 查看状态为未完成执行的全部项目与执行键值对数组数量为6
r($undoneProjectPairs[0]) && p() && e('0'); // 查看状态为未完成执行的瀑布项目编号为3的阶段4
r($undoneProjectPairs[1]) && p() && e('2'); // 查看状态为未完成执行的瀑布项目编号为3的阶段5
r($undoneProjectPairs[3]) && p() && e('5'); // 查看状态为未完成执行的scrum项目编号为6的无执行
r(count($doingProjectPairs)) && p() && e('1'); // 查看状态为进行中执行的全部项目与执行键值对数组数量为6
r($doingProjectPairs[0]) && p() && e('0'); // 查看状态为进行中执行的瀑布项目编号为3的阶段4
r($doingProjectPairs[1]) && p() && e('2'); // 查看状态为进行中执行的瀑布项目编号为3的阶段5
r($doingProjectPairs[3]) && p() && e('0'); // 查看状态为进行中执行的scrum项目编号为6的无执行
r(count($undoneMultipleProjectPairs)) && p() && e('0'); // 查看状态为未完成执行的全部项目与执行键值对数组数量为6
r($undoneMultipleProjectPairs[0]) && p() && e('0'); // 查看状态为未完成执行的瀑布项目编号为3的阶段4
r($undoneMultipleProjectPairs[1]) && p() && e('0'); // 查看状态为未完成执行的瀑布项目编号为3的阶段5
r($undoneMultipleProjectPairs[3]) && p() && e('0'); // 查看状态为未完成执行的scrum项目编号为6的无执行
r(count($doingMultipleProjectPairs)) && p() && e('0'); // 查看状态为进行中执行的全部项目与执行键值对数组数量为6
r($doingMultipleProjectPairs[0]) && p() && e('0'); // 查看状态为进行中执行的瀑布项目编号为3的阶段4
r($doingMultipleProjectPairs[1]) && p() && e('0'); // 查看状态为进行中执行的瀑布项目编号为3的阶段5
r($doingMultipleProjectPairs[3]) && p() && e('0'); // 查看状态为进行中执行的scrum项目编号为6的无执行
+7
View File
@@ -13,6 +13,12 @@ title=测试 projectModel->start();
timeout=0
cid=1
- 挂起的项目第0条的new属性 @doing
- 关闭的项目第0条的new属性 @doing
- 未开始的项目第0条的new属性 @doing
- 进行中的项目(状态没有差异只有实际开始时间不同)第0条的new属性 @2022-10-10
- 挂起的项目2第0条的new属性 @doing
*/
global $tester;
$tester->loadModel('project');
@@ -28,3 +34,4 @@ r($tester->project->start(11, $data)) && p('0:new') && e('doing'); // 挂
r($tester->project->start(12, $data)) && p('0:new') && e('doing'); // 关闭的项目
r($tester->project->start(13, $data)) && p('0:new') && e('doing'); // 未开始的项目
r($tester->project->start(14, $data)) && p('0:new') && e('2022-10-10'); // 进行中的项目(状态没有差异只有实际开始时间不同)
r($tester->project->start(15, $data)) && p('0:new') && e('doing'); // 挂起的项目2
@@ -15,6 +15,37 @@ title=测试 projectModel->updateProducts();
timeout=0
cid=1
- 测试敏捷项目不关联产品的数量 @0
- 测试敏捷项目关联所属项目集的产品的数量 @3
- 测试敏捷项目关联其他项目集的产品的数量 @7
- 测试瀑布项目不关联产品的数量 @0
- 测试瀑布项目关联所属项目集的产品的数量 @3
- 测试瀑布项目关联其他项目集的产品的数量 @7
- 测试看板项目不关联产品的数量 @0
- 测试看板项目关联所属项目集的产品的数量 @3
- 测试看板项目关联其他项目集的产品的数量 @7
- 测试敏捷项目不关联产品 @0
- 测试敏捷项目关联所属项目集的产品
- 第0条的project属性 @11
- 第0条的product属性 @1
- 测试敏捷项目关联其他项目集的产品
- 第6条的project属性 @11
- 第6条的product属性 @7
- 测试瀑布项目不关联产品 @0
- 测试瀑布项目关联所属项目集的产品
- 第0条的project属性 @60
- 第0条的product属性 @1
- 测试瀑布项目关联其他项目集的产品
- 第6条的project属性 @60
- 第6条的product属性 @7
- 测试看板项目不关联产品 @0
- 测试看板项目关联所属项目集的产品
- 第0条的project属性 @100
- 第0条的product属性 @1
- 测试看板项目关联其他项目集的产品
- 第6条的project属性 @100
- 第6条的product属性 @7
*/
$projectIdList = array(11, 60, 100);
@@ -7,7 +7,7 @@ fields:
- field: project
range: 0, 1, 0, 3, 3, 0
- field: model
range: 'scrum, ,waterfall, , ,scrum'
range: 'scrum,[],waterfall,[],[],scrum'
- field: type
range: 'project,sprint,project,stage,stage,project'
- field: status
+10 -4
View File
@@ -13,15 +13,21 @@ su('admin');
title=测试 projectreleaseModel->getLast();
cid=1
pid=1
- 测试获取项目 11 的最后一次发布属性id @9
- 测试获取项目 12 的最后一次发布属性id @10
- 测试获取项目 13 的最后一次发布属性id @0
- 测试获取项目 空 的最后一次发布属性id @8
- 测试获取项目 不存在 的最后一次发布 @0
*/
$projectID = array(11, 12, 0, 1000);
$projectID = array(11, 12, 13, 0, 1000);
$projectrelease = new projectreleaseTest();
r($projectrelease->getLastTest($projectID[0])) && p('id') && e('9'); // 测试获取项目 11 的最后一次发布
r($projectrelease->getLastTest($projectID[1])) && p('id') && e('10'); // 测试获取项目 12 的最后一次发布
r($projectrelease->getLastTest($projectID[2])) && p('id') && e('8'); // 测试获取项目 空 的最后一次发布
r($projectrelease->getLastTest($projectID[3])) && p() && e('0'); // 测试获取项目 不存在 的最后一次发布
r($projectrelease->getLastTest($projectID[2])) && p('id') && e('0'); // 测试获取项目 13 的最后一次发布
r($projectrelease->getLastTest($projectID[3])) && p('id') && e('8'); // 测试获取项目 空 的最后一次发布
r($projectrelease->getLastTest($projectID[4])) && p() && e('0'); // 测试获取项目 不存在 的最后一次发布
@@ -13,7 +13,16 @@ su('admin');
title=测试 projectreleaseModel->getReleasedBuilds();
cid=1
pid=1
- 测试获取项目 131 的已经发布的版本 @1,0,2,3,4,5,6,7
- 测试获取项目 11 的已经发布的版本 @1,0,3
- 测试获取项目 12 的已经发布的版本 @2,0,4
- 测试获取项目 0 的已经发布的版本 @8,0,2
- 测试获取项目 不存在 的已经发布的版本 @0
*/
+22 -9
View File
@@ -6,6 +6,18 @@ title=测试 releaseModel->update();
timeout=0
cid=1
- 修改正常发布
- 属性id @1
- 属性name @修改正常发布
- 属性build @1
- 修改停止维护发布
- 属性id @6
- 属性name @修改停止维护发布
- 属性build @11
- 修改发布为wait第releasedDate条的0属性 @『实际发布日期』不能为空。
- 任务ID为空测试 @0
- 名称为空测试第name条的0属性 @『应用版本号』不能为空。
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
@@ -18,14 +30,15 @@ su('admin');
$releases = array(1, 6, 0);
$today = date('Y-m-d');
$normalRelease = array('name' => '修改正常发布', 'marker' => 0, 'build' => '1', 'status' => 'normal', 'product' => 1 , 'branch' => 0, 'date' => $today);
$terminateRelease = array('name' => '修改停止维护发布', 'marker' => 1, 'build' => '11', 'status' => 'terminate', 'product' => 1 , 'branch' => 0, 'date' => $today);
$noReleaseID = array('name' => '测试任务ID为空', 'marker' => 0, 'build' => '1', 'status' => 'normal', 'product' => 1 , 'branch' => 0, 'date' => $today);
$noName = array('name' => '', 'marker' => 0, 'build' => '1', 'status' => 'normal', 'product' => 1 , 'branch' => 0, 'date' => $today);
$normalRelease = array('name' => '修改正常发布', 'marker' => 0, 'build' => '1', 'status' => 'normal', 'product' => 1 , 'branch' => 0, 'date' => $today, 'system' => '0');
$terminateRelease = array('name' => '修改停止维护发布', 'marker' => 1, 'build' => '11', 'status' => 'terminate', 'product' => 1 , 'branch' => 0, 'date' => $today, 'system' => '0');
$waitRelease = array('name' => '修改发布为wait', 'marker' => 0, 'build' => '1', 'status' => 'wait', 'product' => 1 , 'branch' => 0, 'date' => $today, 'system' => '0');
$noReleaseID = array('name' => '测试任务ID为空', 'marker' => 0, 'build' => '1', 'status' => 'normal', 'product' => 1 , 'branch' => 0, 'date' => $today, 'system' => '0');
$noName = array('name' => '', 'marker' => 0, 'build' => '1', 'status' => 'normal', 'product' => 1 , 'branch' => 0, 'date' => $today, 'system' => '0');
$releaseTester = new releaseTest();
r($releaseTester->updateTest($releases[0], $normalRelease)) && p('id,name,build') && e('1,修改正常发布,1'); //修改正常发布
r($releaseTester->updateTest($releases[1], $terminateRelease)) && p('id,name,build') && e('6,修改停止维护发布,11'); //修改停止维护发布
r($releaseTester->updateTest($releases[2], $noReleaseID)) && p() && e('0'); //任务ID为空测试
r($releaseTester->updateTest($releases[0], $noName)) && p('name:0') && e('『发布名称』不能为空。'); //名称为空测试
r($releaseTester->updateTest($releases[0], $normalRelease)) && p('id,name,build') && e('1,修改正常发布,1'); //修改正常发布
r($releaseTester->updateTest($releases[1], $terminateRelease)) && p('id,name,build') && e('6,修改停止维护发布,11'); //修改停止维护发布
r($releaseTester->updateTest($releases[0], $waitRelease)) && p('releasedDate:0') && e('『实际发布日期』不能为空。'); //修改发布为wait
r($releaseTester->updateTest($releases[2], $noReleaseID)) && p() && e('0'); //任务ID为空测试
r($releaseTester->updateTest($releases[0], $noName)) && p('name:0') && e('『应用版本号』不能为空。'); //名称为空测试
+11 -2
View File
@@ -15,7 +15,16 @@ su('admin');
title=测试 reportModel->createSingleJSON();
cid=1
pid=1
- 测试获取执行 101 的json数据 @0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2
- 测试获取执行 102 的json数据 @0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2
- 测试获取执行 103 的json数据 @0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2
- 测试获取执行 104 的json数据 @0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2
- 测试获取执行 105 的json数据 @0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2
*/
@@ -25,6 +34,6 @@ $executionID = array(101, 102, 103, 104, 105);
r($report->createSingleJSONTest($executionID[0])) && p() && e('0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2'); // 测试获取执行 101 的json数据
r($report->createSingleJSONTest($executionID[1])) && p() && e('0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2'); // 测试获取执行 102 的json数据
r($report->createSingleJSONTest($executionID[2])) && p() && e('0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2'); // 测试获取执行 103 的json数据
r($report->createSingleJSONTest($executionID[2])) && p() && e('0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2'); // 测试获取执行 103 的json数据
r($report->createSingleJSONTest($executionID[3])) && p() && e('0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2'); // 测试获取执行 104 的json数据
r($report->createSingleJSONTest($executionID[4])) && p() && e('0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2'); // 测试获取执行 105 的json数据
+7 -1
View File
@@ -18,7 +18,13 @@ su('admin');
title=测试 reportModel->getOutput4API();
cid=1
pid=1
- 测试获取 admin 的输出 @story:10;task:8;bug:3;case:5;
- 测试获取 dev17 的输出 @task:4;bug:3;case:3;
- 测试获取 test18 的输出 @story:5;task:4;bug:7;case:3;
- 测试获取 admin,dev17 的输出 @story:10;task:12;bug:6;case:8;
- 测试获取 admin,test18 的输出 @story:15;task:12;bug:10;case:8;
- 测试获取 所有用户 的输出 @story:15;task:16;bug:13;case:54;
*/
$account = array(array('admin'), array('dev17'), array('test18'), array('admin', 'dev17'), array('admin', 'test18'), array());
@@ -14,7 +14,13 @@ su('admin');
title=测试 reportModel->getProjectStatusOverview();
cid=1
pid=1
- 获取项目状态 @doing:20;suspended:5;closed:5;wait:10;
- 获取 admin 的项目状态 @doing:1;
- 获取 dev17 的项目状态 @doing:1;closed:1;
- 获取 test18 的项目状态 @suspended:1;doing:1;closed:1;
- 获取 admin,dev17 的项目状态 @doing:2;closed:1;
- 获取 admin,test18 的项目状态 @doing:2;suspended:1;closed:1;
*/
$account = array(array('admin'), array('dev17'), array('test18'), array('admin', 'dev17'), array('admin', 'test18'));
+11 -2
View File
@@ -12,12 +12,18 @@ su('admin');
title=测试 reportModel->getSysURL();
cid=1
pid=1
- 测试获取 config->mail->demain the demain argv1 https:localhost 的 system url @the demain
- 测试获取 config->mail->demain the demain argv1 https:localhost:8080 的 system url @the demain
- 测试获取 config->mail->demain 空 https:localhost 的 system url @https://localhost
- 测试获取 config->mail->demain 空 https:localhost:8080 的 system url @https://localhost:8080
- 测试获取 config->mail->demain demain name argv1 https:localhost 的 system url @demain name
- 测试获取 config->mail->demain demain name argv1 https:localhost:8080 的 system url @demain name
*/
$report = new reportTest();
$demain = array('the demain', '');
$demain = array('the demain', '', 'demain name');
$argv = array('https://localhost', 'https://localhost:8080');
r($report->getSysURLTest($demain[0], $argv[0])) && p() && e('the demain'); // 测试获取 config->mail->demain the demain argv1 https://localhost 的 system url
@@ -25,3 +31,6 @@ r($report->getSysURLTest($demain[0], $argv[1])) && p() && e('the demain'); //
r($report->getSysURLTest($demain[1], $argv[0])) && p() && e('https://localhost'); // 测试获取 config->mail->demain 空 https://localhost 的 system url
r($report->getSysURLTest($demain[1], $argv[1])) && p() && e('https://localhost:8080'); // 测试获取 config->mail->demain 空 https://localhost:8080 的 system url
r($report->getSysURLTest($demain[2], $argv[0])) && p() && e('demain name'); // 测试获取 config->mail->demain demain name argv1 https://localhost 的 system url
r($report->getSysURLTest($demain[2], $argv[1])) && p() && e('demain name'); // 测试获取 config->mail->demain demain name argv1 https://localhost:8080 的 system url
+13 -7
View File
@@ -15,16 +15,22 @@ su('admin');
title=测试 reportModel->getYearCaseStat();
cid=1
pid=1
- 测试获取本年度 admin 的用例数 @0
- 测试获取本年度 dev17 的用例数 @0
- 测试获取本年度 test18 的用例数 @fail:1;
- 测试获取本年度 admin dev17 的用例数 @0
- 测试获取本年度 admin test18 的用例数 @fail:1;
- 测试获取本年度 所有用户 的用例数 @pass:20;fail:20;:40;
*/
$account = array(array('admin'), array('dev17'), array('test18'), array('admin', 'dev17'), array('admin', 'test18'), array());
$report = new reportTest();
r($report->getYearCaseStatTest($account[0])) && p() && e('pass:1;'); // 测试获取本年度 admin 的用例数
r($report->getYearCaseStatTest($account[1])) && p() && e('pass:1;fail:2;'); // 测试获取本年度 dev17 的用例数
r($report->getYearCaseStatTest($account[2])) && p() && e('pass:2;fail:1;'); // 测试获取本年度 test18 的用例数
r($report->getYearCaseStatTest($account[3])) && p() && e('pass:2;fail:2;'); // 测试获取本年度 admin dev17 的用例数
r($report->getYearCaseStatTest($account[4])) && p() && e('pass:3;fail:1;'); // 测试获取本年度 admin test18 的用例数
r($report->getYearCaseStatTest($account[5])) && p() && e('pass:27;fail:23;'); // 测试获取本年度 所有用户 的用例数
r($report->getYearCaseStatTest($account[0])) && p() && e('0'); // 测试获取本年度 admin 的用例数
r($report->getYearCaseStatTest($account[1])) && p() && e('0'); // 测试获取本年度 dev17 的用例数
r($report->getYearCaseStatTest($account[2])) && p() && e('fail:1;'); // 测试获取本年度 test18 的用例数
r($report->getYearCaseStatTest($account[3])) && p() && e('0'); // 测试获取本年度 admin dev17 的用例数
r($report->getYearCaseStatTest($account[4])) && p() && e('fail:1;'); // 测试获取本年度 admin test18 的用例数
r($report->getYearCaseStatTest($account[5])) && p() && e('pass:20;fail:20;:40;'); // 测试获取本年度 所有用户 的用例数
@@ -384,7 +384,7 @@ class searchTest
$this->objectModel->buildAllIndex($type, $lastID);
global $tester;
return $tester->dao->select('*')->from(TABLE_SEARCHINDEX)->where('objectType')->eq($type)->fetchAll();
return $tester->dao->select('*')->from(TABLE_SEARCHINDEX)->where('objectType')->eq($type)->fetchAll('id', false);
}
/**
@@ -719,4 +719,4 @@ class searchTest
return str_replace('@', '', $return);
}
}
}
+8 -5
View File
@@ -32,8 +32,11 @@ cid=1
$search = new searchTest();
r($search->buildAllIndexTest('bug')) && p('0:title,objectID') && e('bug1_,1'); //创建ID为1的bug的索引
r($search->buildAllIndexTest('bug')) && p('1:title,objectID') && e('bug2_,2'); //创建ID为2的bug的索引
r($search->buildAllIndexTest('bug')) && p('2:title,objectID') && e('bug3_,3'); //创建ID为3的bug的索引
r($search->buildAllIndexTest('bug')) && p('3:title,objectID') && e('bug4_,4'); //创建ID为4的bug的索引
r($search->buildAllIndexTest('bug')) && p('4:title,objectID') && e('bug5_,5'); //创建ID为5的bug的索引
$indexs = $search->buildAllIndexTest('bug');
$indexs = array_values($indexs);
r($indexs) && p('0:title,objectID') && e('bug1_,1'); //创建ID为1的bug的索引
r($indexs) && p('1:title,objectID') && e('bug2_,2'); //创建ID为2的bug的索引
r($indexs) && p('2:title,objectID') && e('bug3_,3'); //创建ID为3的bug的索引
r($indexs) && p('3:title,objectID') && e('bug4_,4'); //创建ID为4的bug的索引
r($indexs) && p('4:title,objectID') && e('bug5_,5'); //创建ID为5的bug的索引
+21 -4
View File
@@ -12,6 +12,9 @@ cid=0
- 属性spec @测试需求1的变更描述
- 属性version @4
- 变更时不填写需求名称,给出提示 @1
- 测试修改名称为空。第title条的0属性 @『名称』不能为空。
- 测试存在relievedTwins。属性title @测试需求1变更标题
- 测试变成需求。属性title @名称修改
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
@@ -22,6 +25,9 @@ zenData('story')->gen(30);
zenData('storyspec')->gen(90);
$story = new storyTest();
$story->objectModel->config->requirement = $story->objectModel->config->story;
$story1 = new stdclass();
$story1->title = '测试需求1变更标题';
$story1->spec = '测试需求1的变更描述';
@@ -37,8 +43,19 @@ $story2->reviewer = array('admin', 'test2');
$story2->title = '';
$story2->version = 5;
$result1 = $story->changeTest(1, $story1);
$result2 = $story->changeTest(2, $story2);
$story3 = clone $story1;
$story3->title = '';
r($result1) && p('title,spec,version') && e('测试需求1变更标题,测试需求1的变更描述,4'); // 查看变更后需求数据。
r((int)strpos($result2['title'][0], '名称』不能为空') !== false) && p() && e('1'); // 变更时不填写需求名称,给出提示
$story4 = clone $story1;
$story4->relievedTwins = true;
$story5 = clone $story1;
$story5->title = '名称修改';
$result = $story->changeTest(2, $story2);
r($story->changeTest(1, $story1)) && p('title,spec,version') && e('测试需求1变更标题,测试需求1的变更描述,4'); // 查看变更后需求数据。
r((int)strpos($result['title'][0], '名称』不能为空') !== false) && p() && e('1'); // 变更时不填写需求名称,给出提示
r($story->changeTest(2, $story3)) && p('title:0') && e('『名称』不能为空。'); // 测试修改名称为空。
r($story->changeTest(3, $story4)) && p('title') && e('测试需求1变更标题'); // 测试存在relievedTwins。
r($story->changeTest(4, $story5)) && p('title') && e('名称修改'); // 测试变成需求。