Files
EasySoft-ZenTaoPMS/test/model/project/getOverviewList.php
T
2022-01-18 14:27:58 +08:00

98 lines
2.4 KiB
PHP
Executable File

#!/usr/bin/env php
<?php
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
/**
title=测试 projectModel::getOverviewList;
cid=1
pid=1
*/
class Tester
{
public function __construct($user)
{
global $tester;
su($user);
$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)
{
$result = array();
$result['code'] = 'fail';
$result['message'] = 'No data.';
return $result;
}
if($status == 'undone') $status = 'wait,doing,suspended';
foreach($projects as $project)
{
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);
}
}
$t = new Tester('admin');
/* GetOverviewList('byStatus'). */
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('0'); // 获取不存在的项目
/* GetOverviewList('byStatus', 'wait', $orderBy). */
r($t->getListByOrder('id_asc')) && p() && e('1'); //按照ID正序获取项目列表
r($t->getListByOrder('name_desc')) && p() && e('1'); // 按照项目名称倒序获取项目列表