Merge branch 'autoTest_xieqiyu' into 'master'
Auto test xieqiyu See merge request easycorp/zentaopms!1426
This commit is contained in:
@@ -1809,7 +1809,7 @@ class block extends control
|
||||
/* load pager. */
|
||||
$this->app->loadClass('pager', $static = true);
|
||||
$pager = new pager(0, 3, 1);
|
||||
$this->view->projects = $this->loadModel('project')->getInfoList('all', 30, 'id_desc', $pager);
|
||||
$this->view->projects = $this->loadModel('project')->getInfoList('all', 'id_desc', $pager);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -53,7 +53,7 @@ class project extends control
|
||||
unset($fields[$key]);
|
||||
}
|
||||
|
||||
$projects = $this->project->getInfoList($status, 30, $orderBy, null);
|
||||
$projects = $this->project->getInfoList($status, $orderBy);
|
||||
$users = $this->loadModel('user')->getPairs('noletter');
|
||||
|
||||
$this->loadModel('product');
|
||||
|
||||
@@ -37,7 +37,7 @@ class projectModel extends model
|
||||
echo(js::alert($this->lang->project->accessDenied));
|
||||
$this->session->set('project', '');
|
||||
|
||||
die(js::locate(helper::createLink('project', 'index')));
|
||||
return print(js::locate(helper::createLink('project', 'index')));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -189,13 +189,12 @@ class projectModel extends model
|
||||
* Get project info.
|
||||
*
|
||||
* @param string $status
|
||||
* @param int $itemCounts
|
||||
* @param string $orderBy
|
||||
* @param int $pager
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getInfoList($status = 'undone', $itemCounts = 30, $orderBy = 'order_desc', $pager = null)
|
||||
public function getInfoList($status = 'undone', $orderBy = 'order_desc', $pager = null)
|
||||
{
|
||||
/* Init vars. */
|
||||
$projects = $this->loadModel('program')->getProjectList(0, $status, 0, $orderBy, $pager, 0, 1);
|
||||
|
||||
@@ -77,9 +77,13 @@ function p($keys = '', $delimiter = ',')
|
||||
{
|
||||
global $_result;
|
||||
|
||||
if(empty($_result)) return print(">> 0\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)
|
||||
@@ -175,6 +179,35 @@ function e($expect)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Check order
|
||||
*
|
||||
* @param array $objs
|
||||
* @param string $orderBy
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
function checkOrder($objs, $orderBy)
|
||||
{
|
||||
if(empty($objs)) return true;
|
||||
|
||||
list($field, $sort) = explode('_', $orderBy);
|
||||
$last = current($objs)->$field;
|
||||
foreach($objs as $obj)
|
||||
{
|
||||
if($sort == 'desc')
|
||||
{
|
||||
if($obj->$field > $last) return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if($obj->$field < $last) return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Import data create by zendata to one table.
|
||||
*
|
||||
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::checkHasContent;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
$project = $tester->loadModel('project');
|
||||
|
||||
r($project->checkHasContent(1)) && p() && e('1'); // 查找是否存在父级或者所属项目为1的数据,若存在则为true
|
||||
|
||||
r($project->checkHasContent(0)) && p() && e('1'); // 查找是否存在父级或者所属项目为0的数据,若存在则为ture
|
||||
Executable
+22
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::getByID;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$project = $tester->loadModel('project');
|
||||
|
||||
r($project->getByID(11)) && p('code,type') && e('project1,project'); // 获取ID等于11的项目
|
||||
|
||||
$result = empty($project->getByID(0)) ? 'No Data!' : '';
|
||||
r($result) && p() && e('No Data!'); // 获取ID等于0的项目
|
||||
|
||||
r($project->getByID(1, 'program')) && p('name,type') && e('项目集1,program'); // 获取ID等于0的项目集
|
||||
|
||||
r($project->getByID(101, 'sprint')) && p('name,type') && e('迭代1,sprint'); // 获取ID等于101的迭代
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::getInfoList;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$project = $tester->loadModel('project');
|
||||
|
||||
$undoneProject = $project->getInfoList();
|
||||
Executable
+49
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
class Tester
|
||||
{
|
||||
public function __construct($user)
|
||||
{
|
||||
global $tester;
|
||||
|
||||
su($user);
|
||||
$this->project = $tester->loadModel('project');
|
||||
}
|
||||
|
||||
public function getBystatus($status)
|
||||
{
|
||||
$projects = $this->project->getOverviewList('byStatus', $status);
|
||||
if(!$projects) return 0;
|
||||
foreach($projects as $project)
|
||||
{
|
||||
if($project->status != $status) return 0;
|
||||
}
|
||||
return count($projects);
|
||||
}
|
||||
|
||||
public function getListByOrder($orderBy)
|
||||
{
|
||||
$projects = $this->project->getOverviewList('byStatus', 'wait', $orderBy);
|
||||
return checkOrder($projects, $orderBy);
|
||||
}
|
||||
|
||||
public function getByID($projectID)
|
||||
{
|
||||
return $this->project->getOverviewList('byID', $projectID);
|
||||
}
|
||||
}
|
||||
|
||||
$t = new Tester('admin');
|
||||
|
||||
/* GetOverviewList('byStatus'). */
|
||||
r($t->getByStatus('wait')) && p('') && e('15'); // 获取未开始的项目
|
||||
|
||||
/* GetOverviewList('byID', $id). */
|
||||
r($t->getByID(11)) && p('11:id') && e('11'); // 根据项目ID获取项目详情
|
||||
r($t->getByID(10000)) && p('id') && e(''); // 获取不存在的项目
|
||||
|
||||
/* GetOverviewList('byStatus', 'wait', $orderBy). */
|
||||
r($t->getListByOrder('id_asc')) && p() && e('true'); // 按照ID正序获取项目列表
|
||||
r($t->getListByOrder('name_desc')) && p() && e('true'); // 按照项目名称倒序获取项目列表
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programModel::getSwitcher($projectID, $currentModule, $currentMethod);
|
||||
cid=1
|
||||
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的名称
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::getTotalStoriesByProject;
|
||||
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::getWorkhour;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
$project = $tester->loadModel('project');
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel::isClickable();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$projectModel = $tester->loadModel('project');
|
||||
|
||||
$waitProject = $projectModel->getByID(11);
|
||||
$doingProject = $projectModel->getByID(13);
|
||||
$suspendProject = $projectModel->getByID(17);
|
||||
$closedProject = $projectModel->getByID(18);
|
||||
|
||||
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'); // 检查未开始项目的激活按钮
|
||||
|
||||
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'); //检查进行中项目的激活按钮
|
||||
|
||||
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'); //检查已暂停项目的激活按钮
|
||||
|
||||
r($projectModel->isClickable($closedProject, 'start')) && p() && e('0'); //检查已关闭项目的开始按钮
|
||||
r($projectModel->isClickable($closedProject, 'finish')) && p() && e('0'); //检查已关闭项目的完成按钮
|
||||
r($projectModel->isClickable($closedProject, 'close')) && p() && e('0'); //检查已关闭项目的关闭按钮
|
||||
r($projectModel->isClickable($closedProject, 'suspend')) && p() && e('0'); //检查已关闭项目的暂停按钮
|
||||
r($projectModel->isClickable($closedProject, 'activate')) && p() && e('1'); //检查已关闭项目的激活按钮
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programModel::saveState;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
*/
|
||||
|
||||
$project = $tester->loadModel('project');
|
||||
Reference in New Issue
Block a user