* Autotest program case.

This commit is contained in:
zhengrunyu
2022-01-18 10:22:42 +08:00
parent 172b4ade25
commit 8ebdc2a3b6
26 changed files with 702 additions and 4 deletions
+86
View File
@@ -0,0 +1,86 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
class Tester
{
public function __construct($user)
{
global $tester;
su('admin');
$this->program = $tester->loadModel('program');
}
function create($data)
{
global $app;
$_POST = '';
$_POST = $data;
$programID = $this->program->create();
if(dao::isError()) return array('code' => 'fail','message' => dao::getError());
$program = $this->program->getById($programID);
$app->dbh->query("DELETE FROM ". TABLE_PROGRAM ." where name = '" . $data['name']. "'");
return $program;
}
function createData($status)
{
$data = array(
'parent' => 0,
'name' => '测试新增项目集一',
'budget' => '',
'budgetUnit' => 'CNY',
'begin' => '2022-01-12',
'end' => '2022-02-12',
'desc' => '测试项目集描述',
'acl' => 'private'
);
switch($status)
{
case '1': // 创建新项目集
break;
case '2': // 项目集名称为空时
$data['name'] = '';
break;
case '3': // 项目集的开始时间为空
$data['begin'] = '';
break;
case '4': // 项目集的完成时间为空
$data['end'] = '';
break;
case '5': // 项目集的计划完成时间大于计划开始时间
$data['end'] = '2022-01-10';
break;
case '6': // 项目集的完成日期大于父项目集的完成日期
$data['parent'] = '1';
$data['begin'] = '2018-01-01';
$data['end'] = '2022-02-10';
break;
default:
}
return $this->create($data);
}
}
$t = new Tester('admin');
/**
title=测试 programModel::create();
cid=1
pid=1
*/
r($t->createData(1)) && p('name') && e('测试新增项目集一'); // 创建新项目集
r($t->createData(2)) && p('message[name]:0') && e('『项目集名称』不能为空。'); // 项目集名称为空时
r($t->createData(3)) && p('message[begin]:0') && e('『计划开始』不能为空。'); // 项目集的开始时间为空
r($t->createData(4)) && p('message[end]:0') && e('『计划完成』不能为空。'); // 项目集的完成时间为空
r($t->createData(5)) && p('message[end]:0') && e('『计划完成』应当大于『2022-01-12』。'); // 项目集的计划完成时间大于计划开始时间
r($t->createData(6)) && p('message:begin;message:end') && e('父项目集的开始日期:2019-01-01,开始日期不能小于父项目集的开始日期;父项目集的完成日期:2019-01-01,完成日期不能大于父项目集的完成日期'); // 项目集的完成日期大于父项目集的完成日期
+33
View File
@@ -0,0 +1,33 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
class Tester
{
public function __construct($user)
{
global $tester;
su('admin');
$this->program = $tester->loadModel('program');
}
public function createStakeholder($programID)
{
$_POST['accounts'] = array('dev1', 'dev2');
$this->program->createStakeholder($programID);
return $this->program->getStakeholdersByPrograms($programID);
}
}
$t = new Tester('admin');
/**
title=测试 programModel::createStakeholder();
cid=1
pid=1
*/
r($t->createStakeholder(1)) && p('0:account;1:account') && e('dev2;dev1'); // 创建id=1的项目集的干系人dev1,dev2并查看。
+33
View File
@@ -0,0 +1,33 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
class Tester
{
public function __construct($user)
{
global $tester;
su('admin');
$this->program = $tester->loadModel('program');
}
public function getBudgetLeft($programID)
{
$program = $this->program->getById(1);
return $this->program->getBudgetLeft($program);
}
}
$t = new Tester('admin');
/**
title=测试 programModel::getBudgetLeft($parentProgram);
cid=1
pid=1
*/
r($t->getBudgetLeft(1)) && p() && e('0'); // 查看父项目集id=1的预算剩余
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 programModel::getBudgetUnitList();
cid=1
pid=1
*/
global $app;
$app->loadConfig('project');
$app->loadLang('project');
$program = $tester->loadModel('program');
r($program->getBudgetUnitList()) && p() && e(''); //aaa
+27 -4
View File
@@ -2,15 +2,38 @@
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
class Tester
{
public function __construct($user)
{
global $tester;
su('admin');
$this->program = $tester->loadModel('program');
}
public function getById($programID)
{
if(empty($this->program->getById($programID)))
{
return array('code' => 'fail', 'message' => 'Not Found');
}
else
{
return $this->program->getById($programID);
}
}
}
$t = new Tester('admin');
/**
title=测试 programModel::getById();
cid=1
pid=1
通过id字段获取存在的项目集 >> 测试项目集1
*/
$program = $tester->loadModel('program');
r($program->getById(1)) && p('name') && e('测试项目集1'); // 通过id字段获取存在的项目集
r($t->getById(1)) && p('name') && e('项目集1'); // 通过id字段获取id=1的项目集并验证它的name。
r($t->getById(1000)) && p('message') && e('Not Found'); // 通过id字段获取id=1000的项目集并验证它的name。
+41
View File
@@ -0,0 +1,41 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
class Tester
{
public function __construct($user)
{
global $tester;
su($user);
$this->program = $tester->loadModel('program');
}
public function getChildren($programID)
{
$programInfo = $this->program->getChildren($programID);
if(empty($programInfo))
{
return array('code' => 'fail' , 'message' => 'Not Found');
}
else
{
return $programInfo;
}
}
}
$t = new Tester('admin');
/**
title=测试 programModel:: getChildren();
cid=1
pid=1
*/
r($t->getChildren(1)) && p() && e('9'); // 通过id查找id=1的子项目集个数
r($t->getChildren(220)) && p() && e('5'); // 通过id查找id=220的子项目集个数
r($t->getChildren(221)) && p('message') && e('Not Found'); // 通过id查找id=221的子项目集个数
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 programModel::getInvolvedPrograms();
cid=1
pid=1
*/
$program = $tester->loadModel('program');
r($program->getInvolvedPrograms('admin')) && p() && e(''); // 通过id字段获取存在的项目集
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
su('admin');
/**
title=测试 programModel::getKanbanGroup();
cid=1
pid=1
*/
$program = $tester->loadModel('program');
$result = 'Not Found';
if(empty($program->getKanbanGroup()['my'])) r($result) && p() && e($result); // 获取我的看板组
if(empty($program->getKanbanGroup()['other'])) r($result) && p() && e($result); // 获取其他看板组
+50
View File
@@ -0,0 +1,50 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
su('admin');
class Tester
{
public function __construct($user)
{
global $tester;
su($user);
$this->program = $tester->loadModel('program');
}
public function getListByStatus($status)
{
$this->program->cookie->showClosed = ture;
$programs = $this->program->getList($status);
if(!$programs) return 0;
foreach($programs as $program)
{
if($program->status != $status and $status != 'all') return 0;
}
return count($programs);
}
public function getListByOrder($orderBy)
{
$programs = $this->program->getList('all', $orderBy);
return checkOrder($programs, $orderBy);
}
}
$t = new Tester('admin');
/**
title=测试 programModel::getList();
cid=1
pid=1
*/
a($t->getListByOrder('id_asc'));
r($t->getListByStatus('all')) && p() && e('100'); // 查看所有项目和项目集的个数
r($t->getListByStatus('wait')) && p() && e('34'); // 查看所有'wait'的项目和项目集的个数
r($t->getListByStatus('doing')) && p() && e('44'); // 查看所有'doing'的项目和项目集的个数
r($t->getListByStatus('suspended')) && p() && e('11'); // 查看所有'suspended'的项目和项目集的个数
r($t->getListByStatus('closed')) && p() && e('11'); // 查看所有'closed'的项目和项目集的个数
+41
View File
@@ -0,0 +1,41 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
class Tester
{
public function __construct($user)
{
global $tester;
su('admin');
$this->program = $tester->loadModel('program');
}
public function getPairs()
{
$programs = $this->program->getPairs();
if(!$programs) return 0;
return $programs;
}
public function getCount()
{
return count($this->program->getPairs());
}
}
$t = new Tester('admin');
/**
title=测试 programModel::getPairs();
cid=1
pid=1
*/
r($t->getCount()) && p() && e('10'); // 获取项目集个数
r($t->getPairs()) && p('1') && e('项目集1'); // 获取项目集id/name 的关联数组
r($t->getPairs()) && p('10') && e('项目集10'); // 获取项目集id/name 的关联数组
r($t->getPairs()) && p('11') && e(''); // 获取不存在的项目集id/name 的关联数组
+45
View File
@@ -0,0 +1,45 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
class Tester
{
public function __construct($user)
{
global $tester;
su('admin');
$this->program = $tester->loadModel('program');
}
public function getPairsByList($programIDList = '')
{
if(empty($this->program->getPairsByList($programIDList)))
{
return array('code' => 'fail', 'message' => 'Not Found');
}
else
{
return $this->program->getPairsByList($programIDList);
}
}
}
$t = new Tester('admin');
/**
title=测试 programModel::getPairsByList();
cid=1
pid=1
*/
r($t->getPairsByList('1')) && p('1') && e('项目集1'); // 通过字符串'1'获取项目集名称
r($t->getPairsByList('1,2,3')) && p('1,2,3') && e('项目集1,项目集2,项目集3'); // 通过字符串'1,2,3'获取项目集名称
r($t->getPairsByList(array(1))) && p('1') && e('项目集1');//通过数组array(1)获取项目集名称
r($t->getPairsByList(array(1,2,3))) && p('1,2,3') && e('项目集1,项目集2,项目集3');//通过数组array(1,2,3)获取项目集名称
r($t->getPairsByList()) && p('message') && e('Not Found');// 通过id为空获取项目集名称
r($t->getPairsByList('0')) && p('message') && e('Not Found');// 通过id=0获取项目集名称
r($t->getPairsByList('11')) && p('message') && e('Not Found');// 通过id=11获取项目集名称
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
su('admin');
/**
title=测试 programModel::getParentPairs($model = '', $mode = 'noclosed');
cid=1
pid=1
*/
$program = $tester->loadModel('program');
r($program->getParentPairs()) && p('1') && e(''); // 获取父项目集
+16
View File
@@ -0,0 +1,16 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
su('admin');
/**
title=测试 programModel::getParentPM($programIdList);
cid=1
pid=1
*/
$program = $tester->loadModel('program');
r($program->getParentPM()) && p() && e(''); //
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 programModel::getProductPairs();
cid=1
pid=1
*/
$program = $tester->loadModel('program');
r($program->getProductPairs('1', 'assign', 'all')) && p() && e(''); //
+38
View File
@@ -0,0 +1,38 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
class Tester
{
public function __construct($user)
{
global $tester;
su('admin');
$this->program = $tester->loadModel('program');
}
public function getProgressList()
{
return $this->program->getProgressList();
}
public function getCount()
{
return count($this->program->getProgressList());
}
}
$t = new Tester('admin');
/**
title=测试 programModee::getProgressList();
cid=1
pid=1
*/
r($t->getCount()) && p() && e('100'); // 获取项目和项目集的个数
r($t->getProgressList()) && p('1') && e('0'); // 获取id=1的项目的进度
r($t->getProgressList()) && p('11') && e('0'); // 获取id=11的项目集的进度
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 programModel::getProjectList($programID = 0, $browseType = 'all', $queryID = 0, $orderBy = 'id_desc', $pager = null, $programTitle = 0, $involved = 0, $queryAll = false);
cid=1
pid=1
*/
$program = $tester->loadModel('program');
r($program->getProjectList()) && p() && e(''); // 通过id字段获取存在的项目集
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 programModel::getProjectStats();
cid=1
pid=1
*/
$program = $tester->loadModel('program');
r($program->getProjectStats()) && p() && e(''); //
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 programModel::getStakeholders($programID = 0, $orderBy = 'id_desc', $pager = null);
cid=1
pid=1
*/
$program = $tester->loadModel('program');
r($program->getStakeholders()) && p() && e(''); // 通过id字段获取存在的项目集
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 programModel::getStakeholdersByPrograms($programIdList = 0);
cid=1
pid=1
*/
$program = $tester->loadModel('program');
r($program->getStakeholdersByPrograms()) && p() && e(''); //
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 programModel::getTeamMemberPairs();
cid=1
pid=1
*/
$program = $tester->loadModel('program');
r($program->getTeamMemberPairs()) && p() && e(''); //
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
su('dev1');
/**
title=测试 programModel::getTopByID();
cid=1
pid=1
*/
$program = $tester->loadModel('program');
a($program->getTopByID(1));
r($program->getTopByID(1)) && p() && e(''); //
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
su('dev1');
/**
title=测试 programModel::getTopPairs();
cid=1
pid=1
*/
$program = $tester->loadModel('program');
a($program->getTopPairs());
r($program->getTopPairs()) && p() && e(''); //
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 programModel::hasUnfinished();
cid=1
pid=1
*/
$program = $tester->loadModel('program');
$programInfo = $program->getById(1);
r($program->hasUnfinished($programInfo)) && p() && e(''); // 通过id字段获取存在的项目集
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 programModel::processNode();
cid=1
pid=1
*/
$program = $tester->loadModel('program');
r($program->processNode(1, 0, 1, 1)) && p() && e(''); //
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 programModel::setTreePath();
cid=1
pid=1
*/
$program = $tester->loadModel('program');
r($program->setTreePath(11)) && p() && e('1'); // 设置id=11的项目集的path
r($program->getById(11)) && p('path') && e('11,'); // 查找id=11的项目集的path
+68
View File
@@ -0,0 +1,68 @@
#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
function update($programID, $data)
{
global $tester;
global $app;
$program = $tester->loadModel('program');
$_POST = $data;
$result = $program->update(10);
if(dao::isError()) return array('code' => 'fail','message' => dao::getError());
$app->dbh->query("UPDATE " . TABLE_PROGRAM . " SET name = '" . $result[0]['old']. "' where id = '" . $programID . "'");
return $result;
}
function updateProgram($programID, $status = 0)
{
$data = array(
'parent' => '0',
'name' => '测试更新项目集十',
'begin' => '2020-10-10',
'end' => '2020-10-11',
'acl' => 'private',
'budget' => '100',
'budgetUnit' => 'CNY'
);
switch($status)
{
case '1': // 项目集名称已经存在时
$data['name'] = '项目集1';
break;
case '2': // 当计划开始为空时更新项目集信息
$data['begin'] = '';
break;
case '3': // 当计划完成为空时更新项目集信息
$data['end'] = '';
break;
case '4': // 当计划完成小于计划开始时
$data['end'] = '2020-01-01';
break;
case '5': // 项目集开始时间小于父项目集时
$data['parent'] = '9';
$data['begin'] = '2019-01-01';
break;
default: // 更新id为10的项目集信息
}
return update($programID, $data);
}
/**
title=测试 programModel::update($programID);
cid=1
pid=1
*/
r(updateProgram(10)) && p('0:new') && e('测试更新项目集十');// 更新id为10的项目集信息
r(updateProgram(10, 2)) && p('message[begin]:0') && e('『计划开始』不能为空。');// 当计划开始为空时更新项目集信息
r(updateProgram(10, 3)) && p('message[end]:0') && e('『计划完成』不能为空。');// 当计划完成为空时更新项目集信息
r(updateProgram(10, 4)) && p('message[end]:0') && e('『计划完成』应当大于『2020-10-10』。');// 当计划完成小于计划开始时
r(updateProgram(10, 1)) && p('message[name]:0') && e('『项目集名称』已经有『项目集1』这条记录了。如果您确定该记录已删除,请到后台-系统-数据-回收站还原。');// 项目集名称已经存在时
r(updateProgram(10, 5)) && p('message:begin;message:end') && e('父项目集的开始日期:2019-09-09,开始日期不能小于父项目集的开始日期;父项目集的完成日期:2019-09-09,完成日期不能大于父项目集的完成日期');// 项目集开始时间小于父项目集时