Files
EasySoft-ZenTaoPMS/test/class/task.class.php
2022-03-11 10:52:13 +08:00

641 lines
18 KiB
PHP

<?php
class taskTest
{
public function __construct()
{
global $tester;
$this->objectModel = $tester->loadModel('task');
}
public function createObject($param = array(), $executionID = '')
{
$assignedTo = array('');
$createFields = array('module' => '', 'story' => '', 'name' => '', 'type' => '', 'assignedTo' => $assignedTo,
'pri' => 3, 'estimate' => '', 'estStarted' => '2021-01-10', 'deadline' => '2021-03-19', 'desc' => '');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$object = $this->objectModel->create($executionID);
if (in_array('user92', $_POST['assignedTo'], true))
{
$objectID = $object['user92']['id'];
}
else
{
$objectID = $object['']['id'];
}
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
$object = $this->objectModel->getByID($objectID);
return $object;
}
}
public function updateObject($objectID, $param = array())
{
global $tester;
$object = $tester->dbh->query("SELECT `parent`,`estStarted`,`deadline`,`execution`,`module`,`name`,`type`,`pri`,`estimate`,`consumed`,`left`,`status`,
`color`,`desc`,`assignedTo`,`realStarted`,`finishedBy`,`canceledBy`,`closedReason` FROM zt_task WHERE id = $objectID")->fetch();
foreach($object as $field => $value)
{
if(in_array($field, array_keys($param)))
{
$_POST[$field] = $param[$field];
}
else
{
$_POST[$field] = $value;
}
}
$change = $this->objectModel->update($objectID);
if($change == array()) $change = '没有数据更新';
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return $change;
}
}
public function batchCreateObject($param = array(), $executionID = '')
{
$modul = array('','','');
$parent = array('0','0','0');
$name = array('','','');
$type = array('','','');
$assignedTo = array('','','');
$story =array('','','');
$pri = array('3','3','3');
$color = array('','','');
$desc = array('','','');
$estimate = array('','','');
$createFields = array('parent' => $parent, 'module' => $modul, 'name' => $name, 'type' => $type, 'assignedTo' => $assignedTo,
'pri' => $pri, 'story' => $story, 'color' => $color, 'desc' => $desc ,'estimate' => $estimate);
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$object = $this->objectModel->batchCreate($executionID);
if (in_array('批量任务三', $_POST['name'], true))
{
$objectID = $object[2]->taskID;
}
else
{
$objectID = $object[0];
}
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
$object = $this->objectModel->getByID($objectID);
return $object;
}
}
public function batchUpdateObject($param = array(), $taskID = '')
{
$taskIDList = array($taskID => $taskID);
$colors = array($taskID =>'#ff4e3e');
$name = array($taskID =>'');
$modules = array($taskID => '0');
$assignedTos = array($taskID =>'');
$types =array($taskID => '');
$statuses = array($taskID =>'wait');
$estStarteds = array($taskID => '');
$deadlines = array($taskID => '');
$pris = array($taskID => '3');
$finishedBys = array($taskID => '');
$canceledBys = array($taskID => '');
$closedBys = array($taskID => '');
$closedReasons = array($taskID => '');
$consumeds = array($taskID => '');
$lefts = array($taskID => '');
$createFields = array('taskIDList' => $taskIDList, 'modules' => $modules, 'names' => $name, 'types' => $types, 'assignedTos' => $assignedTos,
'pris' => $pris, 'estStarteds' => $estStarteds, 'colors' => $colors, 'deadlines' => $deadlines, 'statuses' => $statuses, 'finishedBys'=>$finishedBys,
'canceledBys' => $canceledBys, 'closedBys' => $closedBys, 'closedReasons' => $closedReasons, 'consumeds' => $consumeds, 'lefts'=> $lefts);
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$object = $this->objectModel->batchUpdate();
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
$object = $object[$taskID];
return $object;
}
}
public function batchChangeModuleTest($taskIDList, $moduleID)
{
$object = $this->objectModel->batchChangeModule($taskIDList, $moduleID);
return $object[1];
}
public function startTest($taskID,$param = array())
{
$createFields = array( 'status' => 'doing', 'consumed' => '9', 'assignedTo' => '', 'comment' => '9', 'realStarted' => '', 'left' => '3');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$obj = $this->objectModel->start($taskID);
unset($_POST);
if(dao::isError())
{
$error = dao::getError();
if ($error[0] = "此任务已被启动,不能重复启动!")
{
return $error[0];
}
else
{
return $error;
}
}
else
{
return $obj;
}
}
public function recordEstimateTest($taskID, $param = array())
{
$todate = date("Y-m-d");
$id = array('1','2','3');
$dates = array($todate, $todate, $todate);
$consumed = array('','','');
$left = array('','','');
$work = array('','','');
$createFields = array('id' => $id, 'dates' => $dates, 'consumed' => $consumed, 'left' => $left, 'work' => $work);
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$object = $this->objectModel->recordEstimate($taskID);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return $object;
}
}
public function activateTest($taskID, $param = array())
{
$createFields = array('status' => 'doing', 'comment' => '单元测试','assignedTo' => '', 'left' => '3');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$object = $this->objectModel->activate($taskID, $extra = '');
unset($_POST);
if(dao::isError())
{
$error = dao::getError();
return $error[0];
}
else
{
return $object;
}
}
public function assignTest($taskID, $param = array())
{
$createFields = array('assignedTo' => '', 'status' => '', 'comment' => '');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$object = $this->objectModel->assign($taskID);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return $object;
}
}
public function cancelTest($taskID, $param = array())
{
$createFields = array('status' => 'cancel', 'comment' => '单元测试');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$object = $this->objectModel->cancel($taskID);
unset($_POST);
if(dao::isError())
{
$error = dao::getError();
return $error[0];
}
else
{
return $object;
}
}
public function closeTest($taskID, $param = array())
{
$createFields = array('status' => 'closed', 'comment' => '单元测试');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$object = $this->objectModel->close($taskID);
unset($_POST);
if(dao::isError())
{
$error = dao::getError();
return $error[0];
}
else
{
return $object;
}
}
public function finishTest($taskID, $param = array())
{
$todate = date("Y-m-d h:i:s");
$labels = array('');
$createFields = array('status' => 'done', 'currentConsumed' => '', 'realStarted' => '2020-01-17 17:07:07', 'consumed' => '',
'assignedTo' => '', 'finishedDate' => $todate, 'labels' => $labels, 'comment' => '');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$object = $this->objectModel->finish($taskID);
unset($_POST);
if(dao::isError())
{
$error = dao::getError();
return $error[0];
}
else
{
return $object;
}
}
public function getByIdTest($taskID)
{
$object = $this->objectModel->getById($taskID);
if(dao::isError())
{
$error = dao::getError();
return $error[0];
}
else
{
return $object;
}
}
public function getByListTest($taskID)
{
$object = $this->objectModel->getByList($taskID);
if(dao::isError())
{
$error = dao::getError();
return $error[0];
}
else
{
return $object;
}
}
public function getExecutionTaskPairsTest($executionID)
{
$object = $this->objectModel->getExecutionTaskPairs($executionID);
if(dao::isError())
{
$error = dao::getError();
return $error;
}
else
{
return $object;
}
}
public function getExecutionTasksTest($executionID,$count)
{
$object = $this->objectModel->getExecutionTasks($executionID);
if(dao::isError())
{
$error = dao::getError();
return $error;
}
elseif($count == "1")
{
return count($object);
}
else
{
return $object;
}
}
public function getTasksByModuleTest($executionID, $moduleIdList, $count)
{
$object = $this->objectModel->getTasksByModule($executionID, $moduleIdList);
if(dao::isError())
{
$error = dao::getError();
return $error;
}
elseif($count == "1")
{
return count($object);
}
else
{
return $object;
}
}
public function getUserTasksTest($taskID, $assignedTo)
{
$createFields = array('assignedTo' => $assignedTo, 'status' => 'doing', 'comment' => '');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
$this->objectModel->assign($taskID);
$object = $this->objectModel->getUserTasks($assignedTo);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return $object;
}
}
public function pauseTest($taskID, $param = array())
{
$createFields = array('status' => 'pause', 'comment' => '单元测试');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$object = $this->objectModel->pause($taskID);
unset($_POST);
if(dao::isError())
{
$error = dao::getError();
return $error[0];
}
else
{
return $object;
}
}
public function getUserTaskPairsTest($taskID, $assignedTo)
{
$createFields = array('assignedTo' => $assignedTo, 'status' => 'doing', 'comment' => '');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
$this->objectModel->assign($taskID);
$object = $this->objectModel->getUserTaskPairs($assignedTo);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return $object;
}
}
public function getUserSuspendedTasksTest($taskID, $assignedTo)
{
$createFields = array('assignedTo' => $assignedTo, 'status' => 'doing', 'comment' => '');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
$this->objectModel->assign($taskID);
$object = $this->objectModel->getUserSuspendedTasks($assignedTo);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return $object;
}
}
public function getStoryTasksTest($storyID, $count)
{
$object = $this->objectModel->getStoryTasks($storyID);
if(dao::isError())
{
$error = dao::getError();
return $error;
}
elseif($count == "1")
{
return count($object);
}
else
{
return $object;
}
}
public function getStoryTaskCountsTest($storyIDList)
{
$object = $this->objectModel->getStoryTaskCounts($storyIDList);
if(dao::isError())
{
$error = dao::getError();
return $error;
}
else
{
return $object;
}
}
public function getTaskEstimateTest($taskID)
{
$object = $this->objectModel->getTaskEstimate($taskID);
if(dao::isError())
{
$error = dao::getError();
return $error;
}
else
{
return $object;
}
}
public function getEstimateByIdTest($estimateID)
{
$object = $this->objectModel->getEstimateById($estimateID);
if(dao::isError())
{
$error = dao::getError();
return $error;
}
else
{
return $object;
}
}
public function updateEstimateTest($estimateID, $param = array())
{
$createFields = array('date' => '0000-00-00', 'consumed' => '1', 'left' => '1', 'work' => '这里是工作内容1');
foreach($createFields as $field => $defaultValue) $_POST[$field] = $defaultValue;
foreach($param as $key => $value) $_POST[$key] = $value;
$object = $this->objectModel->updateEstimate($estimateID);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return $object;
}
}
public function deleteEstimateTest($estimateID)
{
$object = $this->objectModel->deleteEstimate($estimateID);
unset($_POST);
if(dao::isError())
{
return dao::getError();
}
else
{
return $object;
}
}
public function createTaskFromGitlabIssueTest($task, $executionID)
{
$objectID = $this->objectModel->createTaskFromGitlabIssue($task, $executionID);
if(dao::isError())
{
return dao::getError();
}
else
{
$object = $this->objectModel->getById($objectID);
return $object;
}
}
public function getProjectIDTest($executionID)
{
$object = $this->objectModel->getProjectID($executionID);
if(dao::isError())
{
return dao::getError();
}
else
{
return $object;
}
}
public function getStoryCommentsTest($storyID)
{
$object = $this->objectModel->getStoryComments($storyID);
if(dao::isError())
{
return dao::getError();
}
else
{
return $object;
}
}
public function computeWorkingHoursTest($taskID)
{
$result = $this->objectModel->computeWorkingHours($taskID);
if(dao::isError())
{
return dao::getError();
}
else
{
$object = $this->objectModel->getById($taskID);
if(!empty($object) and $object->parent > 0) $parentObject = $this->objectModel->getById($object->parent);
return isset($parentObject) ? $parentObject : $object;
}
}
public function computeBeginAndEndTest($taskID)
{
$result = $this->objectModel->computeBeginAndEnd($taskID);
if(dao::isError())
{
return dao::getError();
}
else
{
$object = $this->objectModel->getById($taskID);
if(!empty($object) and $object->parent > 0) $parentObject = $this->objectModel->getById($object->parent);
return isset($parentObject) ? $parentObject : $object;
}
}
public function computeHours4MultipleTest($oldTask, $task = null, $team = array(), $autoStatus = true)
{
$result = $this->objectModel->computeHours4Multiple($oldTask, $task, $team, $autoStatus);
if(dao::isError())
{
return dao::getError();
}
else
{
$object = $this->objectModel->getById($oldTask->id);
return !empty($team) ? $result : $object;
}
}
public function getParentTaskPairsTest($executionID, $append = '')
{
$objectList = $this->objectModel->getParentTaskPairs($executionID, $append);
$objectList = count($objectList) == 1 ? array('name' => 0): $objectList;
if(dao::isError())
{
return dao::getError();
}
else
{
return $objectList;
}
}
}