Merge branch 'autoTest_xieqiyu' into 'master'

Auto test xieqiyu

See merge request easycorp/zentaopms!1426
This commit is contained in:
朱金勇
2022-01-17 02:35:38 +00:00
13 changed files with 236 additions and 5 deletions
+1 -1
View File
@@ -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);
}
/**
+1 -1
View File
@@ -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');
+2 -3
View File
@@ -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);
+33
View File
@@ -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.
*
+16
View File
@@ -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
+22
View File
@@ -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的迭代
+15
View File
@@ -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();
+49
View File
@@ -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'); // 按照项目名称倒序获取项目列表
+18
View File
@@ -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
View File
@@ -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');
+12
View File
@@ -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');
+42
View File
@@ -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'); //检查已关闭项目的激活按钮
+13
View File
@@ -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');