Merge branch ztflow-liumengyi-release/21.7.2#liumengyi of zentao/zentaopms (#9147)
This commit is contained in:
@@ -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';
|
||||
|
||||
@@ -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 的统计信息
|
||||
|
||||
@@ -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 值
|
||||
|
||||
@@ -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的无执行
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@@ -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('『应用版本号』不能为空。'); //名称为空测试
|
||||
|
||||
@@ -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数据
|
||||
|
||||
@@ -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'));
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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的索引
|
||||
|
||||
@@ -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('名称修改'); // 测试变成需求。
|
||||
|
||||
Reference in New Issue
Block a user