+ Move unit test from test directory to each module.
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
$programplan = zdTable('project');
|
||||
$programplan->id->range('10-15');
|
||||
$programplan->code->range('1-5')->prefix('code');
|
||||
$programplan->deleted->range('0-1');
|
||||
$programplan->gen(5);
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->checkCodeUnique();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
检查'code1', 'code2', 'code3', 'code4', 'code5' 在未删除的数据内编号是否唯一 code1 >> code1
|
||||
检查'code1', 'code2', 'code3', 'code4', 'code5' 在未删除的数据内编号是否唯一 code3 >> code3
|
||||
检查'code1', 'code2', 'code3', 'code4', 'code5' 在未删除的数据内编号是否唯一 code5 >> code5
|
||||
检查'code1', 'code2', 'code3', 'code4', 'code5' 在除了id为'10', '11', '12', '13', '14'外的未删除数据编号是否唯一 >> 1
|
||||
检查'code6', 'code7' 在未删除的数据内编号是否唯一 >> 1
|
||||
检查'code2', 'code4' 在未删除的数据内编号是否唯一 >> 1
|
||||
|
||||
*/
|
||||
|
||||
$codes = array();
|
||||
$codes[] = array('code1', 'code2', 'code3', 'code4', 'code5');
|
||||
$codes[] = array('code6', 'code7');
|
||||
$codes[] = array('code2', 'code4');
|
||||
$exclude = array('10', '11', '12', '13', '14');
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->checkCodeUniqueTest($codes[0])) && p('code1') && e('code1'); // 检查'code1', 'code2', 'code3', 'code4', 'code5' 在未删除的数据内编号是否唯一 code1
|
||||
r($programplan->checkCodeUniqueTest($codes[0])) && p('code3') && e('code3'); // 检查'code1', 'code2', 'code3', 'code4', 'code5' 在未删除的数据内编号是否唯一 code3
|
||||
r($programplan->checkCodeUniqueTest($codes[0])) && p('code5') && e('code5'); // 检查'code1', 'code2', 'code3', 'code4', 'code5' 在未删除的数据内编号是否唯一 code5
|
||||
r($programplan->checkCodeUniqueTest($codes[0], $exclude)) && p() && e('1'); // 检查'code1', 'code2', 'code3', 'code4', 'code5' 在除了id为'10', '11', '12', '13', '14'外的未删除数据编号是否唯一
|
||||
r($programplan->checkCodeUniqueTest($codes[1])) && p() && e('1'); // 检查'code6', 'code7' 在未删除的数据内编号是否唯一
|
||||
r($programplan->checkCodeUniqueTest($codes[2])) && p() && e('1'); // 检查'code2', 'code4' 在未删除的数据内编号是否唯一
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
zdTable('user')->gen(5);
|
||||
su('admin');
|
||||
|
||||
$execution = zdTable('project');
|
||||
$execution->id->range('1-5');
|
||||
$execution->name->range('瀑布项目1,阶段a,阶段a子1,阶段a子1子1,阶段b');
|
||||
$execution->type->range('project,stage{4}');
|
||||
$execution->project->range('0,1{4}');
|
||||
$execution->parent->range('0,1,2,3,1');
|
||||
$execution->path->range("`,1,`,`,1,2,`,`,1,2,3,`,`,1,2,3,4,`,`,1,5,`");
|
||||
$execution->status->range('doing,doing,doing,closed,suspended');
|
||||
$execution->openedBy->range('admin,user1');
|
||||
$execution->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->realBegan->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->gen(5);
|
||||
|
||||
/**
|
||||
|
||||
title=测试programplanModel->checkLeafStage();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试id为2判断是否为叶子节点 >> 0
|
||||
测试id为5判断是否为叶子节点 >> 1
|
||||
|
||||
*/
|
||||
|
||||
$plan = new programplanTest();
|
||||
|
||||
r($plan->checkLeafStageTest(2)) && p('') && e(0); // 测试id为2判断是否为叶子节点
|
||||
r($plan->checkLeafStageTest(5)) && p('') && e(1); // 测试id为5判断是否为叶子节点
|
||||
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
$programplan = zdTable('project');
|
||||
$programplan->id->range('10-15');
|
||||
$programplan->name->range('1-5')->prefix('name');
|
||||
$programplan->deleted->range('0-1');
|
||||
$programplan->gen(5);
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->checkNameUnique();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
检查'name1', 'name2', 'name1', 'name3', 'name5' 数组的值是否唯一 >> 0
|
||||
检查'name6', 'name7' 数组的值是否唯一 >> 1
|
||||
检查'name2', 'name2' 数组的值是否唯一 >> 0
|
||||
|
||||
*/
|
||||
|
||||
$names = array();
|
||||
$names[] = array('name1', 'name2', 'name1', 'name3', 'name5');
|
||||
$names[] = array('name6', 'name7');
|
||||
$names[] = array('name2', 'name2');
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->checkNameUniqueTest($names[0])) && p() && e('0'); // 检查'name1', 'name2', 'name1', 'name3', 'name5' 数组的值是否唯一
|
||||
r($programplan->checkNameUniqueTest($names[1])) && p() && e('1'); // 检查'name6', 'name7' 数组的值是否唯一
|
||||
r($programplan->checkNameUniqueTest($names[2])) && p() && e('0'); // 检查'name2', 'name2' 数组的值是否唯一
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
zdTable('user')->gen(5);
|
||||
su('admin');
|
||||
|
||||
$execution = zdTable('project');
|
||||
$execution->id->range('1-5');
|
||||
$execution->name->range('瀑布项目1,阶段a,阶段a子1,阶段a子1子1,阶段b');
|
||||
$execution->type->range('project,stage{4}');
|
||||
$execution->project->range('0,1{4}');
|
||||
$execution->parent->range('0,1,2,3,1');
|
||||
$execution->path->range("`,1,`,`,1,2,`,`,1,2,3,`,`,1,2,3,4,`,`,1,5,`");
|
||||
$execution->status->range('doing,doing,doing,closed,suspended');
|
||||
$execution->openedBy->range('admin,user1');
|
||||
$execution->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->realBegan->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->gen(5);
|
||||
|
||||
/**
|
||||
|
||||
title=测试programplanModel->checkTopStage();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试id为2判断是否为顶级阶段 >> 1
|
||||
测试id为4判断是否为顶级阶段 >> 0
|
||||
测试id为5判断是否为顶级阶段 >> 1
|
||||
|
||||
*/
|
||||
|
||||
$plan = new programplanTest();
|
||||
|
||||
r($plan->checkTopStageTest(2)) && p('') && e(1); // 测试id为2判断是否为顶级阶段
|
||||
r($plan->checkTopStageTest(4)) && p('') && e(0); // 测试id为4判断是否为顶级阶段
|
||||
r($plan->checkTopStageTest(5)) && p('') && e(1); // 测试id为5判断是否为顶级阶段
|
||||
Executable
+55
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->create();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试创建用例 工作量占比非数字 >> "工作量比例"必须为数字
|
||||
测试创建用例 计划开始为空 >> 『计划开始』日期不能为空
|
||||
测试创建用例 计划开始非日期 >> 『计划开始』应当为合法的日期
|
||||
测试创建用例 计划完成为空 >> 『计划完成』日期不能为空
|
||||
测试创建用例 计划完成非日期 >> 『计划完成』应当为合法的日期
|
||||
测试创建用例 计划完成小于计划开始 >> "计划完成时间"必须大于"计划开始时间"
|
||||
测试创建用例 计划开始小于项目开始日期 >> 阶段的开始时间不能小于所属项目的开始时间
|
||||
测试创建用例 计划完成大于项目计划完成 >> 阶段的结束时间不能大于所属项目的结束时间
|
||||
测试创建用例 工作量占比之和大于100 >> 工作量占比累计不应当超过100%
|
||||
测试正常更新阶段信息 获取阶段数量 >> 7
|
||||
测试正常创建一条阶段信息 获取阶段数量 >> 8
|
||||
|
||||
*/
|
||||
|
||||
$percentNumber = array('percents' => array('a', '0', '0', '0', '0', '0', '0', '', '', '', '', ''));
|
||||
$emptyBegin = array('begin' => array('', '2022-03-13', '2022-03-16', '2022-03-16', '2022-03-19', '2022-03-19', '2022-03-22', '', '', '', '', ''));
|
||||
$checkBegin = array('begin' => array('a', '2022-03-13', '2022-03-16', '2022-03-16', '2022-03-19', '2022-03-19', '2022-03-22', '', '', '', '', ''));
|
||||
$emptyEnd = array('end' => array('', '2022-04-30', '2022-05-18', '2022-05-18', '2022-04-30', '2022-05-18', '2022-05-18', '', '', '', '', ''));
|
||||
$checkEnd = array('end' => array('a', '2022-04-30', '2022-05-18', '2022-05-18', '2022-04-30', '2022-05-18', '2022-05-18', '', '', '', '', ''));
|
||||
$planFinishSmall = array('end' => array('2022-03-12', '2022-04-30', '2022-05-18', '2022-05-18', '2022-04-30', '2022-05-18', '2022-05-18', '', '', '', '', ''));
|
||||
$errorBegin = array('begin' => array('2022-01-01', '2022-03-13', '2022-03-16', '2022-03-16', '2022-03-19', '2022-03-19', '2022-03-22', '', '', '', '', ''));
|
||||
$errorEnd = array('end' => array('2100-06-18', '2022-04-30', '2022-05-18', '2022-05-18', '2022-04-30', '2022-05-18', '2022-05-18', '', '', '', '', ''));
|
||||
$percentOver = array('percents' => array('50', '51', '0', '0', '0', '0', '0', '', '', '', '', ''));
|
||||
|
||||
$names = array('阶段31', '阶段121', '阶段211', '阶段301', '阶段391', '阶段481', '阶段571', '新增的阶段', '', '', '', '');
|
||||
$percents = array('0', '0', '0', '0', '0', '0', '0', '0', '', '', '', '');
|
||||
$begin = array();
|
||||
$end = array();
|
||||
$create = array('names' => $names, 'percents' => $percents, 'begin' => $begin, 'end' => $end);
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->createTest($percentNumber)) && p() && e('"工作量比例"必须为数字'); // 测试创建用例 工作量占比非数字
|
||||
r($programplan->createTest($emptyBegin)) && p() && e('『计划开始』日期不能为空'); // 测试创建用例 计划开始为空
|
||||
r($programplan->createTest($checkBegin)) && p() && e('『计划开始』应当为合法的日期'); // 测试创建用例 计划开始非日期
|
||||
r($programplan->createTest($emptyEnd)) && p() && e('『计划完成』日期不能为空'); // 测试创建用例 计划完成为空
|
||||
r($programplan->createTest($checkEnd)) && p() && e('『计划完成』应当为合法的日期'); // 测试创建用例 计划完成非日期
|
||||
r($programplan->createTest($planFinishSmall)) && p() && e('"计划完成时间"必须大于"计划开始时间"'); // 测试创建用例 计划完成小于计划开始
|
||||
r($programplan->createTest($errorBegin)) && p() && e("阶段的开始时间不能小于所属项目的开始时间"); // 测试创建用例 计划开始小于项目开始日期
|
||||
r($programplan->createTest($errorEnd)) && p() && e("阶段的结束时间不能大于所属项目的结束时间"); // 测试创建用例 计划完成大于项目计划完成
|
||||
r($programplan->createTest($percentOver)) && p() && e('工作量占比累计不应当超过100%'); // 测试创建用例 工作量占比之和大于100
|
||||
r($programplan->createTest()) && p() && e('7'); // 测试正常更新阶段信息 获取阶段数量
|
||||
r($programplan->createTest($create)) && p() && e('8'); // 测试正常创建一条阶段信息 获取阶段数量
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->getByID();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
获取阶段131 >> 阶段31,project31
|
||||
获取阶段132 >> 阶段32,project32
|
||||
获取阶段133 >> 阶段33,project33
|
||||
获取阶段134 >> 阶段34,project34
|
||||
获取阶段135 >> 阶段35,project35
|
||||
|
||||
*/
|
||||
|
||||
$planIDList = array('131', '132', '133', '134', '135');
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->getByIDTest($planIDList[0])) && p('name,code') && e('阶段31,project31'); // 获取阶段131
|
||||
r($programplan->getByIDTest($planIDList[1])) && p('name,code') && e('阶段32,project32'); // 获取阶段132
|
||||
r($programplan->getByIDTest($planIDList[2])) && p('name,code') && e('阶段33,project33'); // 获取阶段133
|
||||
r($programplan->getByIDTest($planIDList[3])) && p('name,code') && e('阶段34,project34'); // 获取阶段134
|
||||
r($programplan->getByIDTest($planIDList[4])) && p('name,code') && e('阶段35,project35'); // 获取阶段135
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->getByList();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取项目11 12的信息 >> 项目1;项目2
|
||||
测试获取项目13 14的信息 >> 项目3;项目4
|
||||
测试获取项目15 16 17的信息 >> 项目5;项目6;项目7
|
||||
测试获取项目18 19 20的信息 >> 项目8;项目9;项目10
|
||||
测试获取项目21 22 23 24的信息 >> 项目11;项目12;项目13;项目14
|
||||
|
||||
*/
|
||||
|
||||
$planIDList = array(array(11, 12), array(13, 14), array(15, 16, 17), array(18, 19, 20), array(21, 22, 23, 24));
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->getByListTest($planIDList[0])) && p('11:name;12:name') && e('项目1;项目2'); // 测试获取项目11 12的信息
|
||||
r($programplan->getByListTest($planIDList[1])) && p('13:name;14:name') && e('项目3;项目4'); // 测试获取项目13 14的信息
|
||||
r($programplan->getByListTest($planIDList[2])) && p('15:name;16:name;17:name') && e('项目5;项目6;项目7'); // 测试获取项目15 16 17的信息
|
||||
r($programplan->getByListTest($planIDList[3])) && p('18:name;19:name;20:name') && e('项目8;项目9;项目10'); // 测试获取项目18 19 20的信息
|
||||
r($programplan->getByListTest($planIDList[4])) && p('21:name;22:name;23:name;24:name') && e('项目11;项目12;项目13;项目14'); // 测试获取项目21 22 23 24的信息
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->getDuration();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取2022-04-01 ~ 2022-05-01持续时间 >> 21
|
||||
测试获取2022-04-02 ~ 2022-05-06持续时间 >> 25
|
||||
测试获取2022-04-03 ~ 2022-05-11持续时间 >> 28
|
||||
测试获取2022-04-04 ~ 2022-05-16持续时间 >> 31
|
||||
测试获取2022-04-05 ~ 2022-05-21持续时间 >> 34
|
||||
|
||||
*/
|
||||
|
||||
$beginList = array('2022-04-01', '2022-04-02', '2022-04-03', '2022-04-04', '2022-04-05');
|
||||
$endList = array('2022-05-01', '2022-05-06', '2022-05-11', '2022-05-16', '2022-05-21');
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->getDurationTest($beginList[0], $endList[0])) && p() && e('21'); // 测试获取2022-04-01 ~ 2022-05-01持续时间
|
||||
r($programplan->getDurationTest($beginList[1], $endList[1])) && p() && e('25'); // 测试获取2022-04-02 ~ 2022-05-06持续时间
|
||||
r($programplan->getDurationTest($beginList[2], $endList[2])) && p() && e('28'); // 测试获取2022-04-03 ~ 2022-05-11持续时间
|
||||
r($programplan->getDurationTest($beginList[3], $endList[3])) && p() && e('31'); // 测试获取2022-04-04 ~ 2022-05-16持续时间
|
||||
r($programplan->getDurationTest($beginList[4], $endList[4])) && p() && e('34'); // 测试获取2022-04-05 ~ 2022-05-21持续时间
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->getMilestoneByProduct();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取产品21 项目41的里程碑 >> 阶段121,阶段301,阶段481,阶段31,阶段211,阶段391,阶段571
|
||||
测试获取产品32 项目52的里程碑 >> 0
|
||||
测试获取产品23 项目43的里程碑 >> 阶段123,阶段303,阶段483,阶段33,阶段213,阶段393,阶段573
|
||||
测试获取产品34 项目54的里程碑 >> 0
|
||||
测试获取产品25 项目45的里程碑 >> 阶段125,阶段305,阶段485,阶段35,阶段215,阶段395,阶段575
|
||||
|
||||
*/
|
||||
$projectIDList = array(41, 52, 43, 54, 45);
|
||||
$productIDList = array(21, 32, 23, 34, 25);
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->getMilestoneByProductTest($productIDList[0], $projectIDList[0])) && p() && e('阶段121,阶段301,阶段481,阶段31,阶段211,阶段391,阶段571'); // 测试获取产品21 项目41的里程碑
|
||||
r($programplan->getMilestoneByProductTest($productIDList[1], $projectIDList[1])) && p() && e('0'); // 测试获取产品32 项目52的里程碑
|
||||
r($programplan->getMilestoneByProductTest($productIDList[2], $projectIDList[2])) && p() && e('阶段123,阶段303,阶段483,阶段33,阶段213,阶段393,阶段573'); // 测试获取产品23 项目43的里程碑
|
||||
r($programplan->getMilestoneByProductTest($productIDList[3], $projectIDList[3])) && p() && e('0'); // 测试获取产品34 项目54的里程碑
|
||||
r($programplan->getMilestoneByProductTest($productIDList[4], $projectIDList[4])) && p() && e('阶段125,阶段305,阶段485,阶段35,阶段215,阶段395,阶段575'); // 测试获取产品25 项目45的里程碑
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->getMilestones();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取项目41的里程碑 >> 阶段571,阶段481,阶段391,阶段301,阶段211
|
||||
测试获取项目52的里程碑 >> 0
|
||||
测试获取项目43的里程碑 >> 阶段573,阶段483,阶段393,阶段303,阶段213,阶段123,阶段33
|
||||
测试获取项目54的里程碑 >> 0
|
||||
测试获取项目45的里程碑 >> 阶段575,阶段485,阶段395,阶段305,阶段215,阶段125,阶段35
|
||||
|
||||
*/
|
||||
$projectIDList = array(41, 52, 43, 54, 45);
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->getMilestonesTest($projectIDList[0])) && p() && e('阶段571,阶段481,阶段391,阶段301,阶段211'); // 测试获取项目41的里程碑
|
||||
r($programplan->getMilestonesTest($projectIDList[1])) && p() && e('0'); // 测试获取项目52的里程碑
|
||||
r($programplan->getMilestonesTest($projectIDList[2])) && p() && e('阶段573,阶段483,阶段393,阶段303,阶段213,阶段123,阶段33'); // 测试获取项目43的里程碑
|
||||
r($programplan->getMilestonesTest($projectIDList[3])) && p() && e('0'); // 测试获取项目54的里程碑
|
||||
r($programplan->getMilestonesTest($projectIDList[4])) && p() && e('阶段575,阶段485,阶段395,阶段305,阶段215,阶段125,阶段35'); // 测试获取项目45的里程碑
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->getPairs();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取执行41 产品21的计划键值对 >> ,阶段31,阶段31/子阶段1,阶段121,阶段211,阶段301,阶段391,阶段481,阶段571
|
||||
测试获取执行42 产品22的计划键值对 >> ,阶段32,阶段32/子阶段2,阶段122,阶段212,阶段302,阶段392,阶段482,阶段572
|
||||
测试获取执行43 产品23的计划键值对 >> ,阶段33,阶段33/子阶段3,阶段123,阶段213,阶段303,阶段393,阶段483,阶段573
|
||||
测试获取执行44 产品24的计划键值对 >> ,阶段34,阶段34/子阶段4,阶段124,阶段214,阶段304,阶段394,阶段484,阶段574
|
||||
测试获取执行45 产品25的计划键值对 >> ,阶段35,阶段35/子阶段5,阶段125,阶段215,阶段305,阶段395,阶段485,阶段575
|
||||
|
||||
*/
|
||||
$executionIDList = array(41, 42, 43, 44, 45);
|
||||
$productIDList = array(21, 22, 23, 24, 25);
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->getPairsTest($executionIDList[0], $productIDList[0])) && p() && e(',阶段31,阶段31/子阶段1,阶段121,阶段211,阶段301,阶段391,阶段481,阶段571'); // 测试获取执行41 产品21的计划键值对
|
||||
r($programplan->getPairsTest($executionIDList[1], $productIDList[1])) && p() && e(',阶段32,阶段32/子阶段2,阶段122,阶段212,阶段302,阶段392,阶段482,阶段572'); // 测试获取执行42 产品22的计划键值对
|
||||
r($programplan->getPairsTest($executionIDList[2], $productIDList[2])) && p() && e(',阶段33,阶段33/子阶段3,阶段123,阶段213,阶段303,阶段393,阶段483,阶段573'); // 测试获取执行43 产品23的计划键值对
|
||||
r($programplan->getPairsTest($executionIDList[3], $productIDList[3])) && p() && e(',阶段34,阶段34/子阶段4,阶段124,阶段214,阶段304,阶段394,阶段484,阶段574'); // 测试获取执行44 产品24的计划键值对
|
||||
r($programplan->getPairsTest($executionIDList[4], $productIDList[4])) && p() && e(',阶段35,阶段35/子阶段5,阶段125,阶段215,阶段305,阶段395,阶段485,阶段575'); // 测试获取执行45 产品25的计划键值对
|
||||
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
$programplan = zdTable('project');
|
||||
$programplan->id->range('10-20');
|
||||
$programplan->parent->range('1-3');
|
||||
$programplan->type->range('stage{3},sprint{2},kanban{2},stage{1},sprint{2}');
|
||||
$programplan->deleted->range('0-1');
|
||||
$programplan->gen(10);
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->getParentChildrenTypes();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
查找父ID为 1 未删除的阶段类型 stage >> stage
|
||||
查找父ID为 1 未删除的阶段类型 kanban >> kanban
|
||||
查找父ID为 1 未删除的阶段类型数量 >> 2
|
||||
查找父ID为 2 未删除的阶段类型 sprint >> sprint
|
||||
查找父ID为 2 未删除的阶段类型数量 >> 1
|
||||
查找父ID为 3 未删除的阶段类型 stage >> stage
|
||||
查找父ID为 3 未删除的阶段类型 sprint >> sprint
|
||||
查找父ID为 3 未删除的阶段类型数量 >> 2
|
||||
查找父ID为 1 未删除的阶段类型 stage >> 0
|
||||
查找父ID为 1 未删除的阶段类型 sprint >> 0
|
||||
查找父ID为 1 未删除的阶段类型 kanban >> 0
|
||||
查找父ID为 1 未删除的阶段类型数量 >> 0
|
||||
|
||||
*/
|
||||
|
||||
$parentIDList = array(1, 2, 3, 4);
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->getParentChildrenTypesTest($parentIDList[0])) && p('stage') && e('stage'); // 查找父ID为 1 未删除的阶段类型 stage
|
||||
r($programplan->getParentChildrenTypesTest($parentIDList[0])) && p('kanban') && e('kanban'); // 查找父ID为 1 未删除的阶段类型 kanban
|
||||
r(count($programplan->getParentChildrenTypesTest($parentIDList[0]))) && p() && e('2'); // 查找父ID为 1 未删除的阶段类型数量
|
||||
r($programplan->getParentChildrenTypesTest($parentIDList[1])) && p('sprint') && e('sprint'); // 查找父ID为 2 未删除的阶段类型 sprint
|
||||
r(count($programplan->getParentChildrenTypesTest($parentIDList[1]))) && p() && e('1'); // 查找父ID为 2 未删除的阶段类型数量
|
||||
r($programplan->getParentChildrenTypesTest($parentIDList[2])) && p('stage') && e('stage'); // 查找父ID为 3 未删除的阶段类型 stage
|
||||
r($programplan->getParentChildrenTypesTest($parentIDList[2])) && p('sprint') && e('sprint'); // 查找父ID为 3 未删除的阶段类型 sprint
|
||||
r(count($programplan->getParentChildrenTypesTest($parentIDList[2]))) && p() && e('2'); // 查找父ID为 3 未删除的阶段类型数量
|
||||
r($programplan->getParentChildrenTypesTest($parentIDList[3])) && p('stage') && e('0'); // 查找父ID为 1 未删除的阶段类型 stage
|
||||
r($programplan->getParentChildrenTypesTest($parentIDList[3])) && p('sprint') && e('0'); // 查找父ID为 1 未删除的阶段类型 sprint
|
||||
r($programplan->getParentChildrenTypesTest($parentIDList[3])) && p('kanban') && e('0'); // 查找父ID为 1 未删除的阶段类型 kanban
|
||||
r(count($programplan->getParentChildrenTypesTest($parentIDList[3]))) && p() && e('0'); // 查找父ID为 1 未删除的阶段类型数量
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->getParentStageList();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试查询项目41 计划701 产品21的父阶段信息 >> 无,阶段31
|
||||
测试查询项目42 计划702 产品22的父阶段信息 >> 无,阶段32
|
||||
测试查询项目43 计划703 产品23的父阶段信息 >> 无,阶段33
|
||||
测试查询项目44 计划704 产品24的父阶段信息 >> 无,阶段34
|
||||
测试查询项目45 计划705 产品25的父阶段信息 >> 无,阶段35
|
||||
|
||||
*/
|
||||
$projectIDList = array(41, 42, 43, 44, 45);
|
||||
$planIDList = array(701, 702, 703, 704, 705);
|
||||
$productIDList = array(21, 22, 23, 24, 25);
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->getParentStageListTest($projectIDList[0], $planIDList[0], $productIDList[0])) && p() && e('无,阶段31'); // 测试查询项目41 计划701 产品21的父阶段信息
|
||||
r($programplan->getParentStageListTest($projectIDList[1], $planIDList[1], $productIDList[1])) && p() && e('无,阶段32'); // 测试查询项目42 计划702 产品22的父阶段信息
|
||||
r($programplan->getParentStageListTest($projectIDList[2], $planIDList[2], $productIDList[2])) && p() && e('无,阶段33'); // 测试查询项目43 计划703 产品23的父阶段信息
|
||||
r($programplan->getParentStageListTest($projectIDList[3], $planIDList[3], $productIDList[3])) && p() && e('无,阶段34'); // 测试查询项目44 计划704 产品24的父阶段信息
|
||||
r($programplan->getParentStageListTest($projectIDList[4], $planIDList[4], $productIDList[4])) && p() && e('无,阶段35'); // 测试查询项目45 计划705 产品25的父阶段信息
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->getPlans();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取执行41 产品21的计划键值对 >> ,阶段31,阶段121,阶段211,阶段301,阶段391,阶段481,阶段571
|
||||
测试获取执行42 产品22的计划键值对 >> ,阶段32,阶段122,阶段212,阶段302,阶段392,阶段482,阶段572
|
||||
测试获取执行43 产品23的计划键值对 >> ,阶段33,阶段123,阶段213,阶段303,阶段393,阶段483,阶段573
|
||||
测试获取执行44 产品24的计划键值对 >> ,阶段34,阶段124,阶段214,阶段304,阶段394,阶段484,阶段574
|
||||
测试获取执行45 产品25的计划键值对 >> ,阶段35,阶段125,阶段215,阶段305,阶段395,阶段485,阶段575
|
||||
|
||||
*/
|
||||
$executionIDList = array(41, 42, 43, 44, 45);
|
||||
$productIDList = array(21, 22, 23, 24, 25);
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->getPlansTest($executionIDList[0], $productIDList[0])) && p() && e(',阶段31,阶段121,阶段211,阶段301,阶段391,阶段481,阶段571'); // 测试获取执行41 产品21的计划键值对
|
||||
r($programplan->getPlansTest($executionIDList[1], $productIDList[1])) && p() && e(',阶段32,阶段122,阶段212,阶段302,阶段392,阶段482,阶段572'); // 测试获取执行42 产品22的计划键值对
|
||||
r($programplan->getPlansTest($executionIDList[2], $productIDList[2])) && p() && e(',阶段33,阶段123,阶段213,阶段303,阶段393,阶段483,阶段573'); // 测试获取执行43 产品23的计划键值对
|
||||
r($programplan->getPlansTest($executionIDList[3], $productIDList[3])) && p() && e(',阶段34,阶段124,阶段214,阶段304,阶段394,阶段484,阶段574'); // 测试获取执行44 产品24的计划键值对
|
||||
r($programplan->getPlansTest($executionIDList[4], $productIDList[4])) && p() && e(',阶段35,阶段125,阶段215,阶段305,阶段395,阶段485,阶段575'); // 测试获取执行45 产品25的计划键值对
|
||||
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
zdTable('user')->gen(5);
|
||||
su('admin');
|
||||
|
||||
$execution = zdTable('project');
|
||||
$execution->id->range('1-5');
|
||||
$execution->name->range('瀑布项目1,阶段a,阶段a子1,阶段a子1子1,阶段b');
|
||||
$execution->type->range('project,stage{4}');
|
||||
$execution->project->range('0,1{4}');
|
||||
$execution->parent->range('0,1,2,3,1');
|
||||
$execution->path->range("`,1,`,`,1,2,`,`,1,2,3,`,`,1,2,3,4,`,`,1,5,`");
|
||||
$execution->status->range('doing,doing,doing,closed,suspended');
|
||||
$execution->openedBy->range('admin,user1');
|
||||
$execution->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->realBegan->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->gen(5);
|
||||
|
||||
/**
|
||||
|
||||
title=测试programplanModel->getSelfAndChildrenList();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试id为2时获取自己的状态 >> doing
|
||||
测试id为2时获取自己某一个后代的状态 >> 2
|
||||
|
||||
*/
|
||||
|
||||
$plan = new programplanTest();
|
||||
$topPlan = $plan->getSelfAndChildrenListTest(2);
|
||||
$topPlanCount = count($topPlan[2]);
|
||||
|
||||
r($topPlan[2][2]) && p('status') && e('doing'); // 测试id为2时获取自己的状态
|
||||
r($topPlanCount - 1) && p('') && e(2); // 测试id为2时获取自己后代的个数
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
zdTable('user')->gen(5);
|
||||
su('admin');
|
||||
|
||||
$execution = zdTable('project');
|
||||
$execution->id->range('1-5');
|
||||
$execution->name->range('瀑布项目1,阶段a,阶段a子1,阶段a子1子1,阶段b');
|
||||
$execution->type->range('project,stage{4}');
|
||||
$execution->project->range('0,1{4}');
|
||||
$execution->parent->range('0,1,2,3,1');
|
||||
$execution->path->range("`,1,`,`,1,2,`,`,1,2,3,`,`,1,2,3,4,`,`,1,5,`");
|
||||
$execution->status->range('doing,doing,doing,closed,suspended');
|
||||
$execution->openedBy->range('admin,user1');
|
||||
$execution->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->realBegan->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->gen(5);
|
||||
|
||||
/**
|
||||
|
||||
title=测试programplanModel->getSiblings();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试id为2时获取兄弟阶段的的名称 >> 阶段b
|
||||
测试id为2时获取自己兄弟阶段的个数 >> 1
|
||||
测试id为4时获取自己兄弟阶段的个数 >> 0
|
||||
|
||||
*/
|
||||
|
||||
$plan = new programplanTest();
|
||||
$topPlan = $plan->getSiblingsTest(2);
|
||||
$topPlanCount = count($topPlan[2]);
|
||||
|
||||
$leafPlan = $plan->getSiblingsTest(4);
|
||||
$leafPlanCount = count($leafPlan[4]);
|
||||
|
||||
r($topPlan[2][5]) && p('name') && e('阶段b'); // 测试id为2时获取兄弟阶段的的名称
|
||||
r($topPlanCount - 1) && p('') && e(1); // 测试id为2时获取自己兄弟阶段的个数
|
||||
r($leafPlanCount - 1) && p('') && e(0); // 测试id为4时获取自己兄弟阶段的个数
|
||||
Executable
+43
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->getStage();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取执行41 产品21 browse all的计划键值对 >> ,阶段31,阶段121,阶段211,阶段301,阶段391,阶段481,阶段571,子阶段1
|
||||
测试获取执行41 产品21 browse parent的计划键值对 >> ,阶段31,阶段121,阶段211,阶段301,阶段391,阶段481,阶段571
|
||||
测试获取执行41 产品21 browse all id desc的计划键值对 >> ,子阶段1,阶段571,阶段481,阶段391,阶段301,阶段211,阶段121,阶段31
|
||||
测试获取执行42 产品22 browse all的计划键值对 >> ,阶段32,阶段122,阶段212,阶段302,阶段392,阶段482,阶段572,子阶段2
|
||||
测试获取执行42 产品22 browse parent的计划键值对 >> ,阶段32,阶段122,阶段212,阶段302,阶段392,阶段482,阶段572
|
||||
测试获取执行43 产品23 browse all的计划键值对 >> ,阶段33,阶段123,阶段213,阶段303,阶段393,阶段483,阶段573,子阶段3
|
||||
测试获取执行43 产品23 browse parent的计划键值对 >> ,阶段33,阶段123,阶段213,阶段303,阶段393,阶段483,阶段573
|
||||
测试获取执行44 产品24 browse all的计划键值对 >> ,阶段34,阶段124,阶段214,阶段304,阶段394,阶段484,阶段574,子阶段4
|
||||
测试获取执行44 产品24 browse parent的计划键值对 >> ,阶段34,阶段124,阶段214,阶段304,阶段394,阶段484,阶段574
|
||||
测试获取执行45 产品25 browse all的计划键值对 >> ,阶段35,阶段125,阶段215,阶段305,阶段395,阶段485,阶段575,子阶段5
|
||||
测试获取执行45 产品25 browse parent的计划键值对 >> ,阶段35,阶段125,阶段215,阶段305,阶段395,阶段485,阶段575
|
||||
|
||||
*/
|
||||
$executionIDList = array(41, 42, 43, 44, 45);
|
||||
$productIDList = array(21, 22, 23, 24, 25);
|
||||
$browseTypeList = array('all', 'parent');
|
||||
$order = 'id_desc';
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->getStageTest($executionIDList[0], $productIDList[0], $browseTypeList[0])) && p() && e(',阶段31,阶段121,阶段211,阶段301,阶段391,阶段481,阶段571,子阶段1'); // 测试获取执行41 产品21 browse all的计划键值对
|
||||
r($programplan->getStageTest($executionIDList[0], $productIDList[0], $browseTypeList[1])) && p() && e(',阶段31,阶段121,阶段211,阶段301,阶段391,阶段481,阶段571'); // 测试获取执行41 产品21 browse parent的计划键值对
|
||||
r($programplan->getStageTest($executionIDList[0], $productIDList[0], $browseTypeList[0], $order)) && p() && e(',子阶段1,阶段571,阶段481,阶段391,阶段301,阶段211,阶段121,阶段31'); // 测试获取执行41 产品21 browse all id desc的计划键值对
|
||||
r($programplan->getStageTest($executionIDList[1], $productIDList[1], $browseTypeList[0])) && p() && e(',阶段32,阶段122,阶段212,阶段302,阶段392,阶段482,阶段572,子阶段2'); // 测试获取执行42 产品22 browse all的计划键值对
|
||||
r($programplan->getStageTest($executionIDList[1], $productIDList[1], $browseTypeList[1])) && p() && e(',阶段32,阶段122,阶段212,阶段302,阶段392,阶段482,阶段572'); // 测试获取执行42 产品22 browse parent的计划键值对
|
||||
r($programplan->getStageTest($executionIDList[2], $productIDList[2], $browseTypeList[0])) && p() && e(',阶段33,阶段123,阶段213,阶段303,阶段393,阶段483,阶段573,子阶段3'); // 测试获取执行43 产品23 browse all的计划键值对
|
||||
r($programplan->getStageTest($executionIDList[2], $productIDList[2], $browseTypeList[1])) && p() && e(',阶段33,阶段123,阶段213,阶段303,阶段393,阶段483,阶段573'); // 测试获取执行43 产品23 browse parent的计划键值对
|
||||
r($programplan->getStageTest($executionIDList[3], $productIDList[3], $browseTypeList[0])) && p() && e(',阶段34,阶段124,阶段214,阶段304,阶段394,阶段484,阶段574,子阶段4'); // 测试获取执行44 产品24 browse all的计划键值对
|
||||
r($programplan->getStageTest($executionIDList[3], $productIDList[3], $browseTypeList[1])) && p() && e(',阶段34,阶段124,阶段214,阶段304,阶段394,阶段484,阶段574'); // 测试获取执行44 产品24 browse parent的计划键值对
|
||||
r($programplan->getStageTest($executionIDList[4], $productIDList[4], $browseTypeList[0])) && p() && e(',阶段35,阶段125,阶段215,阶段305,阶段395,阶段485,阶段575,子阶段5'); // 测试获取执行45 产品25 browse all的计划键值对
|
||||
r($programplan->getStageTest($executionIDList[4], $productIDList[4], $browseTypeList[1])) && p() && e(',阶段35,阶段125,阶段215,阶段305,阶段395,阶段485,阶段575'); // 测试获取执行45 产品25 browse parent的计划键值对
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->getTotalPercent();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取阶段131的总进度 >> 60
|
||||
测试获取阶段131是父阶段的总进度 >> 0
|
||||
测试获取阶段132的总进度 >> 60
|
||||
测试获取阶段133的总进度 >> 60
|
||||
测试获取阶段134的总进度 >> 60
|
||||
测试获取阶段135的总进度 >> 60
|
||||
|
||||
*/
|
||||
|
||||
$stageIDList = array(131, 132, 133, 134, 135);
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->getTotalPercentTest($stageIDList[0])) && p() && e('60'); // 测试获取阶段131的总进度
|
||||
r($programplan->getTotalPercentTest($stageIDList[0], true)) && p() && e('0'); // 测试获取阶段131是父阶段的总进度
|
||||
r($programplan->getTotalPercentTest($stageIDList[1])) && p() && e('60'); // 测试获取阶段132的总进度
|
||||
r($programplan->getTotalPercentTest($stageIDList[2])) && p() && e('60'); // 测试获取阶段133的总进度
|
||||
r($programplan->getTotalPercentTest($stageIDList[3])) && p() && e('60'); // 测试获取阶段134的总进度
|
||||
r($programplan->getTotalPercentTest($stageIDList[4])) && p() && e('60'); // 测试获取阶段135的总进度
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->isCreateTask();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试阶段131下有没有任务 >> 1
|
||||
测试阶段132下有没有任务 >> 1
|
||||
测试阶段133下有没有任务 >> 1
|
||||
测试阶段134下有没有任务 >> 1
|
||||
测试阶段135下有没有任务 >> 1
|
||||
|
||||
*/
|
||||
$stageIDList = array(131, 132, 133, 134, 135);
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->isCreateTaskTest($stageIDList[0])) && p() && e('1'); // 测试阶段131下有没有任务
|
||||
r($programplan->isCreateTaskTest($stageIDList[1])) && p() && e('1'); // 测试阶段132下有没有任务
|
||||
r($programplan->isCreateTaskTest($stageIDList[2])) && p() && e('1'); // 测试阶段133下有没有任务
|
||||
r($programplan->isCreateTaskTest($stageIDList[3])) && p() && e('1'); // 测试阶段134下有没有任务
|
||||
r($programplan->isCreateTaskTest($stageIDList[4])) && p() && e('1'); // 测试阶段135下有没有任务
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->processPlan();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试计算计划131 >> 131,阶段31,已关闭的正常产品21
|
||||
测试计算计划132 >> 132,阶段32,已关闭的正常产品22
|
||||
测试计算计划133 >> 133,阶段33,已关闭的正常产品23
|
||||
测试计算计划134 >> 134,阶段34,已关闭的正常产品24
|
||||
测试计算计划135 >> 135,阶段35,已关闭的正常产品25
|
||||
|
||||
*/
|
||||
$planIDList = array(131, 132, 133, 134, 135);
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->processPlanTest($planIDList[0])) && p('id,name,productName') && e('131,阶段31,已关闭的正常产品21'); // 测试计算计划131
|
||||
r($programplan->processPlanTest($planIDList[1])) && p('id,name,productName') && e('132,阶段32,已关闭的正常产品22'); // 测试计算计划132
|
||||
r($programplan->processPlanTest($planIDList[2])) && p('id,name,productName') && e('133,阶段33,已关闭的正常产品23'); // 测试计算计划133
|
||||
r($programplan->processPlanTest($planIDList[3])) && p('id,name,productName') && e('134,阶段34,已关闭的正常产品24'); // 测试计算计划134
|
||||
r($programplan->processPlanTest($planIDList[4])) && p('id,name,productName') && e('135,阶段35,已关闭的正常产品25'); // 测试计算计划135
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->processPlans();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取计划 11 12的信息 >> 项目1,正常产品1;项目2,正常产品2
|
||||
测试获取计划 13 14的信息 >> 项目3,正常产品3;项目4,正常产品4
|
||||
测试获取计划 15 16 17的信息 >> 项目5,正常产品5;项目6,正常产品6;项目7,正常产品7
|
||||
测试获取计划 18 19 20的信息 >> 项目8,正常产品8;项目9,正常产品9;项目10,正常产品10
|
||||
测试获取计划 21 22 23 24的信息 >> 项目11,正常产品1;项目12,正常产品2;项目13,正常产品3;项目14,正常产品4
|
||||
|
||||
*/
|
||||
$planIDList = array(array(11, 12), array(13, 14), array(15, 16, 17), array(18, 19, 20), array(21, 22, 23, 24));
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->processPlansTest($planIDList[0])) && p('11:name,productName;12:name,productName') && e('项目1,正常产品1;项目2,正常产品2'); // 测试获取计划 11 12的信息
|
||||
r($programplan->processPlansTest($planIDList[1])) && p('13:name,productName;14:name,productName') && e('项目3,正常产品3;项目4,正常产品4'); // 测试获取计划 13 14的信息
|
||||
r($programplan->processPlansTest($planIDList[2])) && p('15:name,productName;16:name,productName;17:name,productName') && e('项目5,正常产品5;项目6,正常产品6;项目7,正常产品7'); // 测试获取计划 15 16 17的信息
|
||||
r($programplan->processPlansTest($planIDList[3])) && p('18:name,productName;19:name,productName;20:name,productName') && e('项目8,正常产品8;项目9,正常产品9;项目10,正常产品10'); // 测试获取计划 18 19 20的信息
|
||||
r($programplan->processPlansTest($planIDList[4])) && p('21:name,productName;22:name,productName;23:name,productName;24:name,productName') && e('项目11,正常产品1;项目12,正常产品2;项目13,正常产品3;项目14,正常产品4'); // 测试获取计划 21 22 23 24的信息
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->setTreePath();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试更新计划131的路径 >> 阶段31;,41,131,
|
||||
测试更新计划132的路径 >> 阶段32;,42,132,
|
||||
测试更新计划133的路径 >> 阶段33;,43,133,
|
||||
测试更新计划134的路径 >> 阶段34;,44,134,
|
||||
测试更新计划135的路径 >> 阶段35;,45,135,
|
||||
|
||||
*/
|
||||
$planIDList = array(131, 132, 133, 134, 135);
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
r($programplan->setTreePathTest($planIDList[0])) && p('name;path') && e('阶段31;,41,131,'); // 测试更新计划131的路径
|
||||
r($programplan->setTreePathTest($planIDList[1])) && p('name;path') && e('阶段32;,42,132,'); // 测试更新计划132的路径
|
||||
r($programplan->setTreePathTest($planIDList[2])) && p('name;path') && e('阶段33;,43,133,'); // 测试更新计划133的路径
|
||||
r($programplan->setTreePathTest($planIDList[3])) && p('name;path') && e('阶段34;,44,134,'); // 测试更新计划134的路径
|
||||
r($programplan->setTreePathTest($planIDList[4])) && p('name;path') && e('阶段35;,45,135,'); // 测试更新计划135的路径
|
||||
Executable
+45
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programplanModel->update();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试修改plan的 percent 值 工作占比和超过100 >> 工作量占比累计不应当超过100%
|
||||
测试修改plan的 end 值 计划完成小于计划开始 >> 『end』应当不小于。
|
||||
测试修改plan的 name 值 名称为空 >> 『name』不能为空。
|
||||
测试修改plan的 name 值 >> name,修改后的阶段
|
||||
测试修改plan的 percent 值 >> percent,15
|
||||
测试修改plan的 begin 值 >> begin,2022-04-01
|
||||
测试修改plan的 end 值 >> end,2022-04-30
|
||||
|
||||
*/
|
||||
$planID = 131;
|
||||
$projectID = 41;
|
||||
|
||||
$beginNotempty = array('begin' => '');
|
||||
$endNotempty = array('end' => '');
|
||||
$percentOver = array('percent' => 90);
|
||||
$endLeBegin = array('end' => '2022-01-01');
|
||||
$nameNotempty = array('name' => '');
|
||||
$changeName = array('name' => '修改后的阶段');
|
||||
$changePercent = array('percent' => '15');
|
||||
$changeBegin = array('begin' => '2022-04-01');
|
||||
$changeEnd = array('end' => '2022-04-30');
|
||||
|
||||
$programplan = new programplanTest();
|
||||
|
||||
//r($programplan->updateTest($planID, $projectID, $beginNotempty, 'begin')) && p() && e(''); // 测试修改plan的 begin 值 计划开始为空
|
||||
//r($programplan->updateTest($planID, $projectID, $endNotempty, 'end')) && p() && e(''); // 测试修改plan的 end 值 计划完成为空
|
||||
r($programplan->updateTest($planID, $projectID, $percentOver, 'percent')) && p() && e('工作量占比累计不应当超过100%'); // 测试修改plan的 percent 值 工作占比和超过100
|
||||
r($programplan->updateTest($planID, $projectID, $endLeBegin, 'end')) && p() && e('『end』应当不小于。'); // 测试修改plan的 end 值 计划完成小于计划开始
|
||||
r($programplan->updateTest($planID, $projectID, $nameNotempty, 'name')) && p() && e('『name』不能为空。'); // 测试修改plan的 name 值 名称为空
|
||||
r($programplan->updateTest($planID, $projectID, $changeName)) && p('0:field,new') && e('name,修改后的阶段'); // 测试修改plan的 name 值
|
||||
r($programplan->updateTest($planID, $projectID, $changePercent)) && p('0:field,new') && e('percent,15'); // 测试修改plan的 percent 值
|
||||
r($programplan->updateTest($planID, $projectID, $changeBegin)) && p('0:field,new') && e('begin,2022-04-01'); // 测试修改plan的 begin 值
|
||||
r($programplan->updateTest($planID, $projectID, $changeEnd)) && p('0:field,new') && e('end,2022-04-30'); // 测试修改plan的 end 值
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(__FILE__, 2) . '/programplan.class.php';
|
||||
zdTable('user')->gen(5);
|
||||
su('admin');
|
||||
|
||||
$execution = zdTable('project');
|
||||
$execution->id->range('1-5');
|
||||
$execution->name->range('瀑布项目1,阶段a,阶段a子1,阶段a子1子1,阶段b');
|
||||
$execution->type->range('project,stage{4}');
|
||||
$execution->project->range('0,1{4}');
|
||||
$execution->parent->range('0,1,2,3,1');
|
||||
$execution->path->range("`,1,`,`,1,2,`,`,1,2,3,`,`,1,2,3,4,`,`,1,5,`");
|
||||
$execution->status->range('doing,doing,doing,closed,suspended');
|
||||
$execution->attribute->range(" ,mix,request,request,review");
|
||||
$execution->openedBy->range('admin,user1');
|
||||
$execution->begin->range('20220112 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->end->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->realBegan->range('20220212 000000:0')->type('timestamp')->format('YY/MM/DD');
|
||||
$execution->gen(5);
|
||||
|
||||
/**
|
||||
|
||||
title=测试programplanModel->updateSubStageAttr();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试更改id为3的阶段为综合 >> request
|
||||
测试更改id为2的阶段为设计 >> design
|
||||
|
||||
*/
|
||||
|
||||
$plan = new programplanTest();
|
||||
|
||||
r($plan->updateSubStageAttrTest(3, 'mix', 4)) && p('') && e('request'); // 测试更改id为3的阶段为综合
|
||||
r($plan->updateSubStageAttrTest(2, 'design', 3)) && p('') && e('design'); // 测试更改id为2的阶段为设计
|
||||
@@ -0,0 +1,474 @@
|
||||
<?php
|
||||
class programplanTest
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
global $tester;
|
||||
$this->objectModel = $tester->loadModel('programplan');
|
||||
$tester->dao->delete()->from(TABLE_PROJECTSPEC)->exec();
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get plan by id.
|
||||
*
|
||||
* @param int $planID
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function getByIDTest($planID)
|
||||
{
|
||||
$object = $this->objectModel->getByID($planID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $object;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get plans list.
|
||||
*
|
||||
* @param int $executionID
|
||||
* @param int $productID
|
||||
* @param string $browseType
|
||||
* @param string $orderBy
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getStageTest($executionID = 0, $productID = 0, $browseType = 'all', $orderBy = 'id_asc')
|
||||
{
|
||||
$objects = $this->objectModel->getStage($executionID, $productID, $browseType, $orderBy);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
$title = '';
|
||||
foreach($objects as $object) $title .= ',' . $object->name;
|
||||
return $title;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get plans by idList.
|
||||
*
|
||||
* @param array $idList
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getByListTest($idList = array())
|
||||
{
|
||||
$objects = $this->objectModel->getByList($idList);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get plans.
|
||||
*
|
||||
* @param int $executionID
|
||||
* @param int $productID
|
||||
* @param string $orderBy
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getPlansTest($executionID = 0, $productID = 0, $orderBy = 'id_asc')
|
||||
{
|
||||
$objects = $this->objectModel->getPlans($executionID, $productID, $orderBy);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
$title = '';
|
||||
foreach($objects as $object) $title .= ',' . $object->name;
|
||||
return $title;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get pairs.
|
||||
*
|
||||
* @param int $executionID
|
||||
* @param int $productID
|
||||
* @param string $type
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getPairsTest($executionID, $productID = 0, $type = 'all')
|
||||
{
|
||||
$objects = $this->objectModel->getPairs($executionID, $productID, $type);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return implode(',', $objects);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get total percent.
|
||||
*
|
||||
* @param int $stageID
|
||||
* @param bool $parent
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function getTotalPercentTest($stageID, $parent = false)
|
||||
{
|
||||
$stage = $this->objectModel->getByID($stageID);
|
||||
|
||||
$int = $this->objectModel->getTotalPercent($stage, $parent);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $int;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test process plans.
|
||||
*
|
||||
* @param array $planIDList
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function processPlansTest($planIDList)
|
||||
{
|
||||
$plans = $this->objectModel->getByList($planIDList);
|
||||
|
||||
$objects = $this->objectModel->processPlans($plans);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test process plan.
|
||||
*
|
||||
* @param int $planID
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function processPlanTest($planID)
|
||||
{
|
||||
$plan = $this->objectModel->getByID($planID);
|
||||
|
||||
$object = $this->objectModel->processPlan($plan);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $object;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get duration.
|
||||
*
|
||||
* @param date $begin
|
||||
* @param date $end
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function getDurationTest($begin, $end)
|
||||
{
|
||||
$count = $this->objectModel->getDuration($begin, $end);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test create a plan.
|
||||
*
|
||||
* @param array $param
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function createTest($param = array())
|
||||
{
|
||||
$_POST['planIDList'] = array('131', '221', '311', '401', '491', '581', '671');
|
||||
|
||||
global $tester;
|
||||
$plans = $tester->dao->select('*')->from(TABLE_PROJECT)->where('id')->in($_POST['planIDList'])->fetchAll();
|
||||
|
||||
|
||||
$_POST['names'] = array('阶段31', '阶段121', '阶段211', '阶段301', '阶段391', '阶段481', '阶段571', '', '', '', '', '');
|
||||
$_POST['PM'] = array('', '', '', '', '', '', '', '', '', '', '', '');
|
||||
$_POST['percents'] = array('0', '0', '0', '0', '0', '0', '0', '', '', '', '', '');
|
||||
$_POST['attributes'] = array('request', 'request', 'request', 'request', 'request', 'request', 'request', 'request', 'request', 'request', 'request', 'request');
|
||||
$_POST['acl'] = array('private', 'open', 'open', 'private', 'private', 'open', 'open', 'open', 'open', 'open', 'open', 'open');
|
||||
$_POST['milestone'] = array('0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0');
|
||||
$_POST['begin'] = (isset($param['begin']) and isset($param['end'])) ? array($plans[0]->begin, $plans[0]->begin, $plans[0]->begin, $plans[0]->begin, $plans[0]->begin, $plans[0]->begin, $plans[0]->begin, $plans[0]->begin, '', '', '', '') : array($plans[0]->begin, $plans[0]->begin, $plans[0]->begin, $plans[0]->begin, $plans[0]->begin, $plans[0]->begin, $plans[0]->begin, '', '', '', '', '');
|
||||
$_POST['end'] = (isset($param['begin']) and isset($param['end'])) ? array($plans[0]->end, $plans[0]->end, $plans[0]->end, $plans[0]->end, $plans[0]->end, $plans[0]->end, $plans[0]->end, $plans[0]->end, '', '', '', '') : array($plans[0]->end, $plans[0]->end, $plans[0]->end, $plans[0]->end, $plans[0]->end, $plans[0]->end, $plans[0]->end, '', '', '', '', '');
|
||||
$_POST['realBegan'] = array('', '', '', '', '', '', '', '', '', '', '', '');
|
||||
$_POST['realEnd'] = array('', '', '', '', '', '', '', '', '', '', '', '');
|
||||
|
||||
foreach($param as $field => $value)
|
||||
{
|
||||
if(count($param) == 1 or ($field != 'begin' and $field != 'end')) $_POST[$field] = $value;
|
||||
}
|
||||
|
||||
$objects = $this->objectModel->create(41, 0, 0);
|
||||
|
||||
unset($_POST);
|
||||
|
||||
if(dao::isError())
|
||||
{
|
||||
$error = dao::getError()['message'][0];
|
||||
$error = strpos($error, '所属项目的') > 0 ? preg_replace('/\d{4}-\d{2}-\d{2}/', '', $error) : $error;
|
||||
return $error;
|
||||
}
|
||||
|
||||
$objects = $tester->dao->select('*')->from(TABLE_PROJECT)->where('parent')->eq($plans[0]->parent)->andWhere('type')->eq('stage')->fetchAll();
|
||||
return count($objects);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test set stage tree path.
|
||||
*
|
||||
* @param int $planID
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function setTreePathTest($planID)
|
||||
{
|
||||
$this->objectModel->setTreePath($planID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
$object = $this->objectModel->getByID($planID);
|
||||
return $object;
|
||||
}
|
||||
|
||||
/**
|
||||
* updateTest
|
||||
*
|
||||
* @param int $planID
|
||||
* @param int $projectID
|
||||
* @param array $param
|
||||
* @param string $index
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function updateTest($planID, $projectID, $param = array(), $index = '')
|
||||
{
|
||||
$plan = $this->objectModel->getByID($planID);
|
||||
|
||||
$_POST['parent'] = $plan->parent;
|
||||
$_POST['name'] = $plan->name;
|
||||
$_POST['percent'] = $plan->percent;
|
||||
$_POST['attribute'] = $plan->attribute;
|
||||
$_POST['milestone'] = $plan->milestone;
|
||||
$_POST['acl'] = $plan->acl;
|
||||
$_POST['begin'] = $plan->begin;
|
||||
$_POST['end'] = $plan->end;
|
||||
$_POST['realBegan'] = $plan->realBegan;
|
||||
$_POST['realEnd'] = $plan->realEnd;
|
||||
|
||||
foreach($param as $key => $value) $_POST[$key] = $value;
|
||||
|
||||
$objects = $this->objectModel->update($planID, $projectID);
|
||||
|
||||
unset($_POST);
|
||||
|
||||
if(dao::isError()) return $index == 'end' ? preg_replace('/『\d{4}-\d{2}-\d{2}』/', '', dao::getError()[$index][0]) : dao::getError()[$index][0];
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test is create task.
|
||||
*
|
||||
* @param int $planID
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function isCreateTaskTest($planID)
|
||||
{
|
||||
$object = $this->objectModel->isCreateTask($planID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $object ? 2 : 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get the stage set to milestone.
|
||||
*
|
||||
* @param int $projectID
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getMilestonesTest($projectID = 0)
|
||||
{
|
||||
$objects = $this->objectModel->getMilestones($projectID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return implode(',', $objects);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get milestone by product.
|
||||
*
|
||||
* @param int $productID
|
||||
* @param int $projectID
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getMilestoneByProductTest($productID, $projectID)
|
||||
{
|
||||
$objects = $this->objectModel->getMilestoneByProduct($productID, $projectID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return implode(',', $objects);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get parent stage list.
|
||||
*
|
||||
* @param int $executionID
|
||||
* @param int $planID
|
||||
* @param int $productID
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getParentStageListTest($executionID, $planID, $productID)
|
||||
{
|
||||
$objects = $this->objectModel->getParentStageList($executionID, $planID, $productID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return implode(',', $objects);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get parent stage's children types.
|
||||
*
|
||||
* @param int $parentID
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getParentChildrenTypesTest($parentID)
|
||||
{
|
||||
$objects = $this->objectModel->getParentChildrenTypes($parentID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test check code unique.
|
||||
*
|
||||
* @param array $codes
|
||||
* @param array $planIDList
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function checkCodeUniqueTest($codes, $planIDList = array())
|
||||
{
|
||||
$objects = $this->objectModel->checkCodeUnique($codes, $planIDList);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test check name unique.
|
||||
*
|
||||
* @param array $names
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function checkNameUniqueTest($names)
|
||||
{
|
||||
$objects = $this->objectModel->checkNameUnique($names);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test check if the stage is a leaf stage.
|
||||
*
|
||||
* @param int $planID
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function checkLeafStageTest($planID)
|
||||
{
|
||||
$objects = $this->objectModel->checkLeafStage($planID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test check whether it is the top stage.
|
||||
*
|
||||
* @param int $planID
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function checkTopStageTest($planID)
|
||||
{
|
||||
$objects = $this->objectModel->checkTopStage($planID);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test update sub-stage attribute.
|
||||
*
|
||||
* @param int $planID
|
||||
* @param string $attribute
|
||||
* @param int $subStageID
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function updateSubStageAttrTest($planID, $attribute, $subStageID)
|
||||
{
|
||||
global $tester;
|
||||
|
||||
$objects = $this->objectModel->updateSubStageAttr($planID, $attribute);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
$attribute = $tester->dao->select('attribute')->from(TABLE_EXECUTION)->where('id')->eq($subStageID)->fetch('attribute');
|
||||
|
||||
return $attribute;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get plan and its children.
|
||||
*
|
||||
* @param string|int|array $executionIdList
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getSelfAndChildrenListTest($executionIdList)
|
||||
{
|
||||
$objects = $this->objectModel->getSelfAndChildrenList($executionIdList);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get plan's siblings.
|
||||
*
|
||||
* @param string|int|array $executionIdList
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getSiblingsTest($executionIdList)
|
||||
{
|
||||
$objects = $this->objectModel->getSiblings($executionIdList);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user