Merge branch 'autoTest_xieqiyu' into 'master'
Auto test xieqiyu See merge request easycorp/zentaopms!1480
This commit is contained in:
+2
-2
@@ -79,11 +79,11 @@ function p($keys = '', $delimiter = ',')
|
||||
|
||||
if(empty($_result)) return print(">> 0\n");
|
||||
|
||||
if(is_array($_result) and isset($_result['code']) and $_result['code'] == 'fail') return print(">> " . (string) $_result['message'] . "\n");
|
||||
|
||||
/* Print $_result. */
|
||||
if(!$keys or !is_array($_result) and !is_object($_result)) return print(">> " . (string) $_result . "\n");
|
||||
|
||||
if(is_array($_result) and isset($_result['code']) and $_result['code'] == 'fail') return print(">> " . (string) $_result['message'] . "\n");
|
||||
|
||||
$parts = explode(';', $keys);
|
||||
$values = array();
|
||||
foreach($parts as $part)
|
||||
|
||||
@@ -10,13 +10,95 @@ pid=1
|
||||
|
||||
*/
|
||||
|
||||
$project = $tester->loadModel('project');
|
||||
class Tester
|
||||
{
|
||||
public function __construct($user)
|
||||
{
|
||||
global $tester;
|
||||
|
||||
r($project->getByID(11)) && p('code,type') && e('project1,project'); // 获取ID等于11的项目
|
||||
su($user);
|
||||
$this->project = $tester->loadModel('project');
|
||||
}
|
||||
|
||||
$result = empty($project->getByID(0)) ? 'No Data!' : '';
|
||||
r($result) && p() && e('No Data!'); // 获取ID等于0的项目
|
||||
/**
|
||||
* Get project by ID.
|
||||
*
|
||||
* @param int $projectID
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function getProjectByID($projectID)
|
||||
{
|
||||
return $this->project->getByID($projectID);
|
||||
}
|
||||
|
||||
r($project->getByID(1, 'program')) && p('name,type') && e('项目集1,program'); // 获取ID等于0的项目集
|
||||
/**
|
||||
* Get program by ID.
|
||||
*
|
||||
* @param int $programID
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function getProgramByID($programID)
|
||||
{
|
||||
return $this->project->getByID($programID, 'program');
|
||||
}
|
||||
|
||||
r($project->getByID(101, 'sprint')) && p('name,type') && e('迭代1,sprint'); // 获取ID等于101的迭代
|
||||
/**
|
||||
* Get sprint by ID.
|
||||
*
|
||||
* @param int $sprintID
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function getSprintByID($sprintID)
|
||||
{
|
||||
return $this->project->getByID($sprintID, 'sprint');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get stage by ID.
|
||||
*
|
||||
* @param int $stageID
|
||||
* @access public
|
||||
* @return object
|
||||
*/
|
||||
public function getStageByID($stageID)
|
||||
{
|
||||
return $this->project->getByID($stageID, 'stage');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Kanban by ID,
|
||||
*
|
||||
* @param int $kanbanID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getKanbanByID($kanbanID)
|
||||
{
|
||||
return $this->project->getByID($kanbanID, 'kanban');
|
||||
}
|
||||
}
|
||||
|
||||
$t = new Tester('admin');
|
||||
|
||||
/* Get project by ID. */
|
||||
r($t->getProjectByID(11)) && p('code,type') && e('project1,project'); //获取ID等于11的项目
|
||||
r($t->getProjectByID(0)) && p('code,type') && e('0'); //获取不存在的项目
|
||||
|
||||
/* Get program by ID. */
|
||||
r($t->getProgramByID(1)) && p('code,type') && e('program1,program'); //获取ID等于1的项目集
|
||||
r($t->getProgramByID(0)) && p('code,type') && e('0'); //获取不存在的项目集
|
||||
|
||||
/* Get sprint by ID. */
|
||||
r($t->getSprintByID(101)) && p('code,type') && e('project1,sprint'); //获取ID等于101的冲刺
|
||||
r($t->getSprintByID(0)) && p('code,type') && e('0'); //获取不存在的冲刺
|
||||
|
||||
/* Get stage by ID. */
|
||||
r($t->getStageByID(131)) && p('code,type') && e('project31,stage'); //获取ID等于131的阶段
|
||||
r($t->getStageByID(0)) && p('code,type') && e('0'); //获取不存在的阶段
|
||||
|
||||
/* Get Kanban by ID. */
|
||||
r($t->getKanbanByID(161)) && p('code,type') && e('project61,kanban'); //获取ID等于161的阶段
|
||||
r($t->getKanbanByID(0)) && p('code,type') && e('0'); //获取不存在的看板
|
||||
|
||||
Executable
+61
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::getByIdList;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
class Tester
|
||||
{
|
||||
public function __construct($user)
|
||||
{
|
||||
global $tester;
|
||||
|
||||
su($user);
|
||||
$this->project = $tester->loadModel('project');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get project by ID list.
|
||||
*
|
||||
* @param array $IDList
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getProjects($IDList)
|
||||
{
|
||||
$projects = $this->project->getByIdList($IDList);
|
||||
if(empty($projects))
|
||||
{
|
||||
$result = array();
|
||||
$result['code'] = 'fail';
|
||||
$result['message'] = 'No data.';
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
foreach($projects as $project)
|
||||
{
|
||||
if(!in_array($project->id, $IDList))
|
||||
{
|
||||
$result = array();
|
||||
$result['code'] = 'fail';
|
||||
$result['message'] = 'Error data.';
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
return count($projects);
|
||||
}
|
||||
}
|
||||
|
||||
$t = new Tester('admin');
|
||||
|
||||
r($t->getProjects(array(0,11,12,13))) && p() && e('3'); // 查找ID为0、11、12、13的项目
|
||||
r($t->getProjects(array())) && p() && e('No data.'); // 查找空项目
|
||||
@@ -2,6 +2,14 @@
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::getOverviewList;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
class Tester
|
||||
{
|
||||
public function __construct($user)
|
||||
@@ -12,23 +20,62 @@ class Tester
|
||||
$this->project = $tester->loadModel('project');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get project by status.
|
||||
*
|
||||
* @param string $status
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function getBystatus($status)
|
||||
{
|
||||
$projects = $this->project->getOverviewList('byStatus', $status);
|
||||
if(!$projects) return 0;
|
||||
if(!$projects)
|
||||
{
|
||||
$result = array();
|
||||
$result['code'] = 'fail';
|
||||
$result['message'] = 'No data.';
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
if($status == 'undone') $status = 'wait,doing,suspended';
|
||||
|
||||
foreach($projects as $project)
|
||||
{
|
||||
if($project->status != $status) return 0;
|
||||
if(strpos(",$status,", $project->status) === false)
|
||||
{
|
||||
$result = array();
|
||||
$result['code'] = 'fail';
|
||||
$result['message'] = 'Error data.';
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
return count($projects);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get project list by order.
|
||||
*
|
||||
* @param string $orderBy
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getListByOrder($orderBy)
|
||||
{
|
||||
$projects = $this->project->getOverviewList('byStatus', 'wait', $orderBy);
|
||||
return checkOrder($projects, $orderBy);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get project by ID.
|
||||
*
|
||||
* @param int $projectID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function getByID($projectID)
|
||||
{
|
||||
return $this->project->getOverviewList('byID', $projectID);
|
||||
@@ -38,12 +85,13 @@ class Tester
|
||||
$t = new Tester('admin');
|
||||
|
||||
/* GetOverviewList('byStatus'). */
|
||||
r($t->getByStatus('wait')) && p('') && e('15'); // 获取未开始的项目
|
||||
r($t->getByStatus('wait')) && p() && e('15'); // 获取未开始的项目
|
||||
r($t->getByStatus('undone')) && p() && e('15'); // 获取状态不为done和closed的项目
|
||||
|
||||
/* GetOverviewList('byID', $id). */
|
||||
r($t->getByID(11)) && p('11:id') && e('11'); // 根据项目ID获取项目详情
|
||||
r($t->getByID(10000)) && p('id') && e(''); // 获取不存在的项目
|
||||
r($t->getByID(10000)) && p('id') && e('0'); // 获取不存在的项目
|
||||
|
||||
/* GetOverviewList('byStatus', 'wait', $orderBy). */
|
||||
r($t->getListByOrder('id_asc')) && p() && e('true'); // 按照ID正序获取项目列表
|
||||
r($t->getListByOrder('name_desc')) && p() && e('true'); // 按照项目名称倒序获取项目列表
|
||||
r($t->getListByOrder('id_asc')) && p() && e('1'); //按照ID正序获取项目列表
|
||||
r($t->getListByOrder('name_desc')) && p() && e('1'); // 按照项目名称倒序获取项目列表
|
||||
|
||||
Executable
+61
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::getPairsByIdList;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
class Tester
|
||||
{
|
||||
public function __construct($user)
|
||||
{
|
||||
global $tester;
|
||||
|
||||
su($user);
|
||||
$this->project = $tester->loadModel('project');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get project pairs by ID list.
|
||||
*
|
||||
* @param array $IDList
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function getByIdList($IDList)
|
||||
{
|
||||
$projects = $this->project->getPairsByIdList($IDList);
|
||||
if(empty($projects))
|
||||
{
|
||||
$result = array();
|
||||
$result['code'] = 'fail';
|
||||
$result['message'] = 'No data.';
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
foreach($projects as $projectID => $projectName)
|
||||
{
|
||||
if(!empty($IDList) and !in_array($projectID, $IDList))
|
||||
{
|
||||
$result = array();
|
||||
$result['code'] = 'fail';
|
||||
$result['message'] = 'Error Data.';
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
return count($projects);
|
||||
}
|
||||
}
|
||||
|
||||
$t = new Tester('admin');
|
||||
|
||||
r($t->getByIdList(array(0,11,12,13))) && p() && e('3'); //查找ID为0、11、12、13的项目
|
||||
r($t->getByIdList(array())) && p() && e('90'); //查找所有项目
|
||||
Executable
+93
@@ -0,0 +1,93 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::getPairsByProgram;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
class Tester
|
||||
{
|
||||
public function __construct($user)
|
||||
{
|
||||
global $tester;
|
||||
|
||||
su($user);
|
||||
$this->project = $tester->loadModel('project');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get project pairs by programID.
|
||||
*
|
||||
* @param int $programID
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function getByProgram($programID)
|
||||
{
|
||||
$projects = $this->project->getPairsByProgram($programID);
|
||||
if(empty($projects))
|
||||
{
|
||||
$result = array();
|
||||
$result['code'] = 'fail';
|
||||
$result['message'] = 'No data.';
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
return count($projects);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get project pairs by status.
|
||||
*
|
||||
* @param string $status
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function getByStatus($status)
|
||||
{
|
||||
$projects = $this->project->getPairsByProgram(2, $status);
|
||||
if(empty($projects))
|
||||
{
|
||||
$result = array();
|
||||
$result['code'] = 'fail';
|
||||
$result['message'] = 'No data.';
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
return count($projects);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get project list by order.
|
||||
*
|
||||
* @param string $orderBy
|
||||
* @access public
|
||||
* @return int
|
||||
*/
|
||||
public function getListByOrder($orderBy)
|
||||
{
|
||||
$projects = $this->project->getPairsByProgram(3, 'doing', $orderBy);
|
||||
return checkOrder($projects, $orderBy);
|
||||
}
|
||||
}
|
||||
|
||||
$t = new Tester('admin');
|
||||
|
||||
/* Get project list by program ID. */
|
||||
r($t->getByProgram('')) && p() && e('90'); //查找管理员可查看的所有项目
|
||||
r($t->getByProgram(0)) && p() && e('No data.'); //查找独立项目
|
||||
r($t->getByProgram(1)) && p() && e('9'); //查找管理员可查看的所属项目集ID为1的项目
|
||||
|
||||
/* Get project list by status. */
|
||||
r($t->getByStatus('wait')) && p() && e('3'); //查找管理员可查看的所属项目集ID为1且状态为wait的项目
|
||||
r($t->getByStatus('noclosed')) && p() && e('7'); //查找管理员可查看的所属项目集ID为1且状态不为closed的项目
|
||||
|
||||
/* Get project list by order. */
|
||||
r($t->getListByOrder('id_desc')) && p() && e('1'); //按照ID降序排序查找项目
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::getProjectsConsumed;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
$project = $tester->loadModel('project');
|
||||
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::checkHasContent;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
$project = $tester->loadModel('project');
|
||||
@@ -12,7 +12,5 @@ pid=1
|
||||
|
||||
$project = $tester->loadModel('project');
|
||||
|
||||
$result = empty($project->getSwitcher(11, 'project', 'browse')) ? 'Return!' : '';
|
||||
r($result) && p() && e('Return'); // 获取项目下拉菜单,项目列表页面没有项目下拉菜单
|
||||
|
||||
r($project->getSwitcher(11, 'project', 'execution')) && p() && e("<span class='text'>项目1</span>"); // 获取项目ID为11的迭代列表页面的项目下拉菜单,查看是否包含项目ID为11的名称
|
||||
r($project->getSwitcher(11, 'project', 'browse')) && p() && e('0'); //获取项目下拉菜单,项目列表页面没有项目下拉菜单
|
||||
r($project->getSwitcher(11, 'project', 'execution')) && p() && e("<span class='text'>项目1</span>"); //获取项目ID为11的迭代列表页面的项目下拉菜单,查看是否包含项目ID为11的名称
|
||||
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::getTotalBugByProject;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
@@ -17,24 +17,28 @@ $doingProject = $projectModel->getByID(13);
|
||||
$suspendProject = $projectModel->getByID(17);
|
||||
$closedProject = $projectModel->getByID(18);
|
||||
|
||||
/* Check wait project. */
|
||||
r($projectModel->isClickable($waitProject, 'start')) && p() && e('1'); // 检查未开始项目的开始按钮
|
||||
r($projectModel->isClickable($waitProject, 'finish')) && p() && e('1'); // 检查未开始项目的完成按钮
|
||||
r($projectModel->isClickable($waitProject, 'close')) && p() && e('1'); // 检查未开始项目的关闭按钮
|
||||
r($projectModel->isClickable($waitProject, 'suspend')) && p() && e('1'); // 检查未开始项目的暂停按钮
|
||||
r($projectModel->isClickable($waitProject, 'activate')) && p() && e('0'); // 检查未开始项目的激活按钮
|
||||
|
||||
/* Check doing project. */
|
||||
r($projectModel->isClickable($doingProject, 'start')) && p() && e('0'); //检查进行中项目的开始按钮
|
||||
r($projectModel->isClickable($doingProject, 'finish')) && p() && e('1'); //检查进行中项目的完成按钮
|
||||
r($projectModel->isClickable($doingProject, 'close')) && p() && e('1'); //检查进行中项目的关闭按钮
|
||||
r($projectModel->isClickable($doingProject, 'suspend')) && p() && e('1'); //检查进行中项目的暂停按钮
|
||||
r($projectModel->isClickable($doingProject, 'activate')) && p() && e('0'); //检查进行中项目的激活按钮
|
||||
|
||||
/* Check suspend project. */
|
||||
r($projectModel->isClickable($suspendProject, 'start')) && p() && e('1'); //检查已暂停项目的开始按钮
|
||||
r($projectModel->isClickable($suspendProject, 'finish')) && p() && e('0'); //检查已暂停项目的完成按钮
|
||||
r($projectModel->isClickable($suspendProject, 'close')) && p() && e('1'); //检查已暂停项目的关闭按钮
|
||||
r($projectModel->isClickable($suspendProject, 'suspend')) && p() && e('0'); //检查已暂停项目的暂停按钮
|
||||
r($projectModel->isClickable($suspendProject, 'activate')) && p() && e('0'); //检查已暂停项目的激活按钮
|
||||
|
||||
/* Check closed project. */
|
||||
r($projectModel->isClickable($closedProject, 'start')) && p() && e('0'); //检查已关闭项目的开始按钮
|
||||
r($projectModel->isClickable($closedProject, 'finish')) && p() && e('0'); //检查已关闭项目的完成按钮
|
||||
r($projectModel->isClickable($closedProject, 'close')) && p() && e('0'); //检查已关闭项目的关闭按钮
|
||||
|
||||
Reference in New Issue
Block a user