znt/module/my/test/lib/zen.class.php

167 lines
6.8 KiB
PHP

<?php
declare(strict_types = 1);
require_once dirname(__FILE__, 5) . '/test/lib/test.class.php';
class myZenTest extends baseTest
{
protected $moduleName = 'my';
protected $className = 'zen';
/**
* Test assignRelatedData method.
*
* @param array $feedbacks 反馈数据列表
* @access public
* @return object
*/
public function assignRelatedDataTest($feedbacks = array())
{
$this->invokeArgs('assignRelatedData', [$feedbacks]);
$view = $this->getProperty('view');
$result = new stdClass();
$result->hasBugs = isset($view->bugs) && is_array($view->bugs) ? 1 : 0;
$result->hasTodos = isset($view->todos) && is_array($view->todos) ? 1 : 0;
$result->hasStories = isset($view->stories) && is_array($view->stories) ? 1 : 0;
$result->hasTasks = isset($view->tasks) && is_array($view->tasks) ? 1 : 0;
return $result;
}
/**
* Test buildCaseData method.
*
* @param array $cases 用例数据列表
* @param string $type 类型(assigntome|openedbyme)
* @access public
* @return array
*/
public function buildCaseDataTest($cases = array(), $type = 'assigntome')
{
$result = $this->invokeArgs('buildCaseData', [$cases, $type]);
if(dao::isError()) return dao::getError();
return $result;
}
/**
* Test buildSearchFormForFeedback method.
*
* @param int $queryID
* @param string $orderBy
* @access public
* @return object
*/
public function buildSearchFormForFeedbackTest($queryID = 0, $orderBy = 'id_desc')
{
global $tester;
if(!isset($tester->config->feedback)) $tester->config->feedback = new stdClass();
$tester->config->feedback->search = array();
$tester->config->feedback->search['module'] = 'feedback';
$tester->config->feedback->search['fields'] = array('id' => 'ID', 'product' => '产品', 'module' => '模块', 'title' => '标题', 'assignedTo' => '指派给', 'processedBy' => '处理者', 'closedBy' => '关闭者', 'closedDate' => '关闭日期', 'closedReason' => '关闭原因', 'processedDate' => '处理日期', 'solution' => '解决方案', 'status' => '状态');
$tester->config->feedback->search['params'] = array('product' => array('operator' => '=', 'control' => 'select', 'values' => array()), 'module' => array('operator' => 'belong', 'control' => 'select', 'values' => array()), 'assignedTo' => array('operator' => '=', 'control' => 'select', 'values' => array()), 'processedBy' => array('operator' => '=', 'control' => 'select', 'values' => array()), 'closedBy' => array('operator' => '=', 'control' => 'select', 'values' => array()), 'status' => array('operator' => '=', 'control' => 'select', 'values' => array()));
$this->invokeArgs('buildSearchFormForFeedback', [$queryID, $orderBy]);
if(dao::isError()) return dao::getError();
$result = new stdClass();
$result->queryID = $tester->config->feedback->search['queryID'] ?? 0;
$result->module = $tester->config->feedback->search['module'] ?? '';
$result->hasActionURL = isset($tester->config->feedback->search['actionURL']) && !empty($tester->config->feedback->search['actionURL']) ? 1 : 0;
return $result;
}
/**
* Test buildTaskData method.
*
* @param array $tasks 任务数据列表
* @access public
* @return array
*/
public function buildTaskDataTest($tasks = array())
{
$result = $this->invokeArgs('buildTaskData', [$tasks]);
if(dao::isError()) return dao::getError();
return $result;
}
/**
* Test showWorkCount method.
*
* @param int $recTotal 总记录数
* @param int $recPerPage 每页记录数
* @param int $pageID 页码
* @access public
* @return object
*/
public function showWorkCountTest($recTotal = 0, $recPerPage = 20, $pageID = 1)
{
ob_start();
$this->invokeArgs('showWorkCount', [$recTotal, $recPerPage, $pageID]);
ob_end_clean();
if(dao::isError()) return dao::getError();
$view = $this->getProperty('view');
$result = new stdClass();
$result->hasTodoCount = isset($view->todoCount) && is_array($view->todoCount) ? 1 : 0;
$result->taskCount = isset($view->todoCount['task']) ? $view->todoCount['task'] : -1;
$result->storyCount = isset($view->todoCount['story']) ? $view->todoCount['story'] : -1;
$result->bugCount = isset($view->todoCount['bug']) ? $view->todoCount['bug'] : -1;
$result->caseCount = isset($view->todoCount['case']) ? $view->todoCount['case'] : -1;
$result->testtaskCount = isset($view->todoCount['testtask']) ? $view->todoCount['testtask'] : -1;
$result->isOpenedURAndSR = isset($view->isOpenedURAndSR) ? $view->isOpenedURAndSR : 0;
return $result;
}
/**
* Test showWorkCountNotInOpen method.
*
* @param array $count 待处理工作数量数组
* @access public
* @return object
*/
public function showWorkCountNotInOpenTest($count = array())
{
/* Create a mock pager object. */
global $tester;
if(isset($tester) && isset($tester->app))
{
$tester->app->loadClass('pager', true);
$pager = new pager(0, 20, 1);
}
else
{
$pager = new stdClass();
$pager->recTotal = 0;
$pager->recPerPage = 20;
$pager->pageID = 1;
}
$result = $this->invokeArgs('showWorkCountNotInOpen', [$count, $pager]);
if(dao::isError()) return dao::getError();
$view = $this->getProperty('view');
$output = new stdClass();
$output->task = isset($result['task']) ? $result['task'] : 0;
$output->story = isset($result['story']) ? $result['story'] : 0;
$output->bug = isset($result['bug']) ? $result['bug'] : 0;
$output->case = isset($result['case']) ? $result['case'] : 0;
$output->testtask = isset($result['testtask']) ? $result['testtask'] : 0;
$output->requirement = isset($result['requirement']) ? $result['requirement'] : 0;
$output->issue = isset($result['issue']) ? $result['issue'] : 0;
$output->risk = isset($result['risk']) ? $result['risk'] : 0;
$output->qa = isset($result['qa']) ? $result['qa'] : 0;
$output->meeting = isset($result['meeting']) ? $result['meeting'] : 0;
$output->ticket = isset($result['ticket']) ? $result['ticket'] : 0;
$output->feedback = isset($result['feedback']) ? $result['feedback'] : 0;
$output->isBiz = isset($view->isBiz) ? $view->isBiz : 0;
$output->isMax = isset($view->isMax) ? $view->isMax : 0;
$output->isIPD = isset($view->isIPD) ? $view->isIPD : 0;
return $output;
}
}