From 50e5aaaa9546725ea0b814185f4bfafd86ed5b2f Mon Sep 17 00:00:00 2001 From: liyang <“liyang@easycorp.ltd”> Date: Wed, 23 Feb 2022 16:38:25 +0800 Subject: [PATCH 1/2] Add class file and task model --- test/data/bug.yaml | 8 ++++---- test/data/case.yaml | 6 +++--- test/data/zentao/config.php | 12 +++++++++--- test/data/zt_story.yaml | 16 +--------------- test/data/zt_taskestimate.yaml | 16 ++++------------ test/ztest | 3 +++ 6 files changed, 24 insertions(+), 37 deletions(-) diff --git a/test/data/bug.yaml b/test/data/bug.yaml index 8d1e54603f..f364bea6fe 100644 --- a/test/data/bug.yaml +++ b/test/data/bug.yaml @@ -5,21 +5,21 @@ fields: - field: id range: 1-10000 - field: project - range: 131{2},0{97} + range: 11-100{3},0{30} - field: product - range: 1{20} + range: 1-100{3} - field: branch range: 0 - field: module range: 0 - field: execution - range: 391,0,391,0{97} + range: 101-700{3} - field: plan range: 0 - field: story range: 0 - field: storyVersion - range: 0 + range: 1 - field: task range: 0 - field: toTask diff --git a/test/data/case.yaml b/test/data/case.yaml index b6ee0ed499..b9e75f713e 100644 --- a/test/data/case.yaml +++ b/test/data/case.yaml @@ -8,16 +8,16 @@ fields: range: 1-10000 - field: product note: "产品ID" - range: 1-180{50},0{1000} + range: 1-100{3} - field: branch note: "分支ID" range: 0 - field: execution note: "执行ID" - range: 0 + range: 101-700{3} - field: lib note: "所属库" - range: 0{9000},1-10{100} + range: 0 - field: module note: "所属模块" range: 0 diff --git a/test/data/zentao/config.php b/test/data/zentao/config.php index 97bbd5671a..f7e944aff4 100644 --- a/test/data/zentao/config.php +++ b/test/data/zentao/config.php @@ -5,9 +5,15 @@ $builder->company = array('rows' => 1, 'extends' => array('company')); $builder->user = array('rows' => 1000, 'extends' => array('user')); $builder->dept = array('rows' => 100, 'extends' => array('dept')); -$builder->program = array('rows' => 10, 'extends' => array('project', 'program')); -$builder->project = array('rows' => 90, 'extends' => array('project', 'project')); -$builder->sprint = array('rows' => 600, 'extends' => array('project', 'execution')); +$builder->program = array('rows' => 10, 'extends' => array('project', 'program')); +$builder->project = array('rows' => 90, 'extends' => array('project', 'project')); +$builder->sprint = array('rows' => 600, 'extends' => array('project', 'execution')); +$builder->story = array('rows' => 400, 'extends' => array('story')); +$builder->task = array('rows' => 600, 'extends' => array('task')); +$builder->taskspec = array('rows' => 600, 'extends' => array('taskspec')); +$builder->taskestimate = array('rows' => 600, 'extends' => array('taskestimate')); +$builder->case = array('rows' => 300, 'extends' => array('case')); +$builder->bug = array('rows' => 300, 'extends' => array('bug')); $builder->product = array('rows' => 100, 'extends' => array('product')); $builder->productline = array('rows' => 20, 'extends' => array('module', 'productline')); diff --git a/test/data/zt_story.yaml b/test/data/zt_story.yaml index d50de07e13..bd4343c60c 100644 --- a/test/data/zt_story.yaml +++ b/test/data/zt_story.yaml @@ -3,20 +3,6 @@ desc: "需求" author: automated export version: "1.0" fields: - - field: id - note: "ID" - range: 1-10000 - prefix: "" - postfix: "" - loop: 0 - format: "" - - field: program - note: "项目ID" - range: 1-10000 - prefix: "" - postfix: "" - loop: 0 - format: "" - field: parent note: "父需求ID" range: 0 @@ -26,7 +12,7 @@ fields: format: "" - field: product note: "所属产品" - range: 1-10000 + range: 1-100{4} prefix: "" postfix: "" loop: 0 diff --git a/test/data/zt_taskestimate.yaml b/test/data/zt_taskestimate.yaml index 82de1f1252..8b3fcd63b0 100644 --- a/test/data/zt_taskestimate.yaml +++ b/test/data/zt_taskestimate.yaml @@ -3,16 +3,9 @@ desc: "预计工时" author: automated export version: "1.0" fields: - - field: id - note: "ID" - range: 1-10000 - prefix: "" - postfix: "" - loop: 0 - format: "" - field: task note: "任务ID" - range: 1-10000 + range: 1-600 prefix: "" postfix: "" loop: 0 @@ -27,22 +20,21 @@ fields: format: "" - field: left note: "总计消耗" - range: 1-10:R + range: 0 prefix: "" postfix: "" loop: 0 format: "" - field: consumed note: "预计剩余" - range: 0-10:R + range: 1-10 prefix: "" postfix: "" loop: 0 format: "" - field: account note: "操作账号" - from: common.user.v1.yaml - use: user + range: "admin" prefix: "" postfix: "" loop: 0 diff --git a/test/ztest b/test/ztest index 7748deec34..9582018350 100755 --- a/test/ztest +++ b/test/ztest @@ -22,6 +22,9 @@ switch($argv[1]) case 'program': ztfRun('model/program'); break; + case 'task': + ztfRun('model/task'); + break; case 'model': ztfRun('model'); break; From 41917102b8ece09c0a883c0790b17c330129a3ba Mon Sep 17 00:00:00 2001 From: liyang <“liyang@easycorp.ltd”> Date: Thu, 24 Feb 2022 09:43:44 +0800 Subject: [PATCH 2/2] Add class class and task --- test/class/task.class.php | 535 ++++++++++++++++++++++ test/data/story.yaml | 281 ++++++++++++ test/data/task.yaml | 323 +++++++++++++ test/data/taskestimate.yaml | 48 ++ test/data/taskmodule.yaml | 75 +++ test/data/taskspec.yaml | 46 ++ test/data/zt_case.yaml | 92 ++++ test/model/task/activate.php | 29 ++ test/model/task/assign.php | 38 ++ test/model/task/batchChangeModule.php | 22 + test/model/task/batchCreate.php | 31 ++ test/model/task/batchUpdate.php | 27 ++ test/model/task/cancel.php | 29 ++ test/model/task/closed.php | 29 ++ test/model/task/create.php | 61 +++ test/model/task/deleteEstimate.php | 21 + test/model/task/finish.php | 41 ++ test/model/task/getById.php | 21 + test/model/task/getByList.php | 21 + test/model/task/getEstimateById.php | 21 + test/model/task/getExecutionTaskPairs.php | 21 + test/model/task/getExecutionTasks.php | 24 + test/model/task/getStoryTaskCounts.php | 25 + test/model/task/getStoryTasks.php | 24 + test/model/task/getTaskEstimate.php | 23 + test/model/task/getTasksByModule.php | 26 ++ test/model/task/getUserSuspendedTasks.php | 23 + test/model/task/getUserTaskPairs.php | 22 + test/model/task/getUserTasks.php | 22 + test/model/task/pause.php | 29 ++ test/model/task/recordEstimate.php | 28 ++ test/model/task/start.php | 31 ++ test/model/task/update.php | 55 +++ test/model/task/updateEstimate.php | 32 ++ 34 files changed, 2176 insertions(+) create mode 100644 test/class/task.class.php create mode 100644 test/data/story.yaml create mode 100644 test/data/task.yaml create mode 100644 test/data/taskestimate.yaml create mode 100644 test/data/taskmodule.yaml create mode 100644 test/data/taskspec.yaml create mode 100644 test/data/zt_case.yaml create mode 100755 test/model/task/activate.php create mode 100755 test/model/task/assign.php create mode 100755 test/model/task/batchChangeModule.php create mode 100755 test/model/task/batchCreate.php create mode 100755 test/model/task/batchUpdate.php create mode 100755 test/model/task/cancel.php create mode 100755 test/model/task/closed.php create mode 100755 test/model/task/create.php create mode 100755 test/model/task/deleteEstimate.php create mode 100755 test/model/task/finish.php create mode 100755 test/model/task/getById.php create mode 100755 test/model/task/getByList.php create mode 100755 test/model/task/getEstimateById.php create mode 100755 test/model/task/getExecutionTaskPairs.php create mode 100755 test/model/task/getExecutionTasks.php create mode 100755 test/model/task/getStoryTaskCounts.php create mode 100755 test/model/task/getStoryTasks.php create mode 100755 test/model/task/getTaskEstimate.php create mode 100755 test/model/task/getTasksByModule.php create mode 100755 test/model/task/getUserSuspendedTasks.php create mode 100755 test/model/task/getUserTaskPairs.php create mode 100755 test/model/task/getUserTasks.php create mode 100755 test/model/task/pause.php create mode 100755 test/model/task/recordEstimate.php create mode 100755 test/model/task/start.php create mode 100755 test/model/task/update.php create mode 100755 test/model/task/updateEstimate.php diff --git a/test/class/task.class.php b/test/class/task.class.php new file mode 100644 index 0000000000..4fe7fc6b82 --- /dev/null +++ b/test/class/task.class.php @@ -0,0 +1,535 @@ +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; + } + } +} diff --git a/test/data/story.yaml b/test/data/story.yaml new file mode 100644 index 0000000000..21572c554b --- /dev/null +++ b/test/data/story.yaml @@ -0,0 +1,281 @@ +title: table zt_story +desc: "需求" +author: automated export +version: "1.0" +fields: + - field: parent + note: "父需求ID" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: product + note: "所属产品" + range: 1-100{4} + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: branch + note: "分支/平台" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: module + note: "所属模块" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: plan + note: "所属计划" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: source + note: "需求来源" + range: customer,user,po,market,service,operation,support,competitor,partner,dev,tester,bug,forum,other + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: sourceNote + note: "来源备注" + range: 1-10000 + prefix: "这里是需求来源备注" + postfix: "" + loop: 0 + format: "" + - field: fromBug + note: "来源Bug" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: title + note: "需求名称" + fields: + - field: field1 + range: [用户需求,软件需求] + - field: field2 + range: 1-10000 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: keywords + note: "关键词" + range: 1-10000 + prefix: "关键词" + postfix: "" + loop: 0 + format: "" + - field: type + note: "需求类型" + range: requirement,story + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: pri + note: "优先级" + range: 1-4 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: estimate + note: "预计工时" + range: 0-20:R + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: status + note: "当前状态" + range: draft,active,closed,changed + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: subStatus + note: "子状态" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: color + note: "标题颜色" + from: common.color.v1.yaml + use: color + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: stage + note: "所处阶段" + range: wait,planned,projected,developing,developed,testing,tested,verified,released,closed + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: stagedBy + note: "设置阶段者" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: mailto + note: "抄送给" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: openedBy + note: "由谁创建" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: openedDate + note: "创建日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: assignedTo + note: "指派给" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: assignedDate + note: "指派日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: lastEditedBy + note: "最后修改者" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: lastEditedDate + note: "最后修改日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: reviewedBy + note: "评审者" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: reviewedDate + note: "评审日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: closedBy + note: "关闭者" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: closedDate + note: "关闭日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: closedReason + note: "关闭原因" + range: done,subdivided,duplicate,postponed,willnotdo,cancel,bydesign + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: toBug + note: "转Bug" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: childStories + note: "细分需求" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: linkStories + note: "相关需求" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: duplicateStory + note: "重复需求ID" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: version + note: "版本号" + range: 1 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: URChanged + note: "用户需求变更" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: deleted + note: "是否删除" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" diff --git a/test/data/task.yaml b/test/data/task.yaml new file mode 100644 index 0000000000..4eaf8dc707 --- /dev/null +++ b/test/data/task.yaml @@ -0,0 +1,323 @@ +title: table zt_task +desc: "任务" +author: automated export +version: "1.0" +fields: + - field: id + note: "ID" + range: 1-10000 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: parent + note: "父任务" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: project + note: "所属项目" + range: 11-100 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: execution + note: "所属执行" + range: 101-700 + - field: module + note: "所属模块" + range: 21-1820:3 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: story + note: "相关需求" + range: 1-400:4 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: design + note: "相关设计" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: storyVersion + note: "需求版本" + range: 1 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: designVersion + note: "设计版本" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: fromBug + note: "来源Bug" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: name + note: "任务名称" + fields: + - field: name1 + range: "开发任务" + - field: name2 + range: 11-700 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: type + note: "任务类型" + range: design,devel,test,study,discuss,ui,affair,misc + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: pri + note: "优先级" + range: 1-4 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: estimate + note: "最初预计" + range: 0-10 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: consumed + note: "总计消耗" + range: 3-12 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: left + note: "预计剩余" + range: 0-10 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: deadline + note: "截止日期" + range: "2022-02-27" + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: status + note: "任务状态" + range: wait,doing,done,pause,cancel,closed + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: subStatus + note: "子状态" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: color + note: "标题颜色" + from: common.color.v1.yaml + use: color + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: mailto + note: "抄送给" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: desc + note: "任务描述" + range: 1-10000 + prefix: "这里是任务描述" + postfix: "" + loop: 0 + format: "" + - field: version + note: "版本号" + range: 1 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: openedBy + note: "由谁创建" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: openedDate + note: "创建日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: assignedTo + note: "指派给" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: assignedDate + note: "指派日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: estStarted + note: "预计开始" + range: "2022-01-27" + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: realStarted + note: "实际开始" + from: common.date.v1.yaml + use: dateB + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: finishedBy + note: "由谁完成" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: finishedDate + note: "完成日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: finishedList + note: "完成者列表" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: canceledBy + note: "由谁取消" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: canceledDate + note: "取消日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: closedBy + note: "由谁关闭" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: closedDate + note: "关闭日期" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: realDuration + note: "实际持续时长" + range: 1 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: planDuration + note: "计划持续时长" + range: 1 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: closedReason + note: "关闭原因" + range: "" + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: lastEditedBy + note: "最后修改者" + from: common.user.v1.yaml + use: user + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: lastEditedDate + note: "最后修改时间" + from: common.date.v1.yaml + use: dateA + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: activatedDate + note: "重新激活日期" + from: common.date.v1.yaml + use: dateB + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: deleted + note: "是否删除" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" diff --git a/test/data/taskestimate.yaml b/test/data/taskestimate.yaml new file mode 100644 index 0000000000..8e867cd441 --- /dev/null +++ b/test/data/taskestimate.yaml @@ -0,0 +1,48 @@ +title: table zt_taskestimate +desc: "预计工时" +author: automated export +version: "1.0" +fields: + - field: task + note: "任务ID" + range: 1-600 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: date + note: "更新日期" + from: common.date.v1.yaml + use: dateB + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: left + note: "总计消耗" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: consumed + note: "预计剩余" + range: 3-11 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: account + note: "操作账号" + range: "admin" + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: work + note: "工作备注" + range: 1-10000 + prefix: "这里是工作内容" + postfix: "" + loop: 0 + format: "" diff --git a/test/data/taskmodule.yaml b/test/data/taskmodule.yaml new file mode 100644 index 0000000000..041b3313f8 --- /dev/null +++ b/test/data/taskmodule.yaml @@ -0,0 +1,75 @@ +title: table zt_module +desc: "模块" +author: automated export +version: "1.0" +fields: + - field: id + note: "ID" + range: 21-10000 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: root + note: "根目录" + range: 101-700{3} + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: branch + note: "分支" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: name + note: "模块名称" + range: 1-10000 + prefix: "模块" + postfix: "" + loop: 0 + format: "" + - field: parent + note: "父ID" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: path + note: "ID路径" + range: 21-10000 + prefix: "," + postfix: "," + loop: 0 + format: "" + - field: grade + note: "等级" + range: 1 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: order + note: "排序" + range: 10-100:10 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: type + note: "对象类型" + range: task + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: deleted + note: "是否删除" + range: 0 + prefix: "" + postfix: "" + loop: 0 + format: "" diff --git a/test/data/taskspec.yaml b/test/data/taskspec.yaml new file mode 100644 index 0000000000..3e37ac5718 --- /dev/null +++ b/test/data/taskspec.yaml @@ -0,0 +1,46 @@ +title: table zt_taskspec +desc: "任务版本" +author: automated export +version: "1.0" +fields: + - field: task + note: "任务ID" + range: 1-10000 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: version + note: "任务版本" + range: 1 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: name + note: "任务名称" + fields: + - field: name1 + range: 开发任务 + - field: name2 + range: 1-10000 + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: estStarted + note: "预计开始" + from: common.date.v1.yaml + use: dateB + prefix: "" + postfix: "" + loop: 0 + format: "" + - field: deadline + note: "截止时间" + from: common.date.v1.yaml + use: dateB + prefix: "" + postfix: "" + loop: 0 + format: "" diff --git a/test/data/zt_case.yaml b/test/data/zt_case.yaml new file mode 100644 index 0000000000..f0e710443c --- /dev/null +++ b/test/data/zt_case.yaml @@ -0,0 +1,92 @@ +title: table zt_case +desc: "" +author: automated export +version: "1.0" +fields: + - field: id + from: keys.yaml + use: zt_case_id + - field: project + range: "" + - field: product + range: "" + - field: execution + range: "" + - field: branch + range: "" + - field: lib + range: "" + - field: module + range: "" + - field: path + range: "" + - field: story + range: "" + - field: storyVersion + range: "" + - field: title + range: "" + - field: precondition + range: "" + - field: keywords + range: "" + - field: pri + range: "" + - field: type + range: "" + - field: auto + range: "" + - field: frame + range: "" + - field: stage + range: "" + - field: howRun + range: "" + - field: scriptedBy + range: "" + - field: scriptedDate + range: "" + - field: scriptStatus + range: "" + - field: scriptLocation + range: "" + - field: status + range: "" + - field: subStatus + range: "" + - field: color + range: "" + - field: frequency + range: "" + - field: order + range: "" + - field: openedBy + range: "" + - field: openedDate + range: "" + - field: reviewedBy + range: "" + - field: reviewedDate + range: "" + - field: lastEditedBy + range: "" + - field: lastEditedDate + range: "" + - field: version + range: "" + - field: linkCase + range: "" + - field: fromBug + range: "" + - field: fromCaseID + range: "" + - field: fromCaseVersion + range: "" + - field: deleted + range: "" + - field: lastRunner + range: "" + - field: lastRunDate + range: "" + - field: lastRunResult + range: "" diff --git a/test/model/task/activate.php b/test/model/task/activate.php new file mode 100755 index 0000000000..2415b55cbc --- /dev/null +++ b/test/model/task/activate.php @@ -0,0 +1,29 @@ +#!/usr/bin/env php +activate(); +cid=1 +pid=1 + +wait状态任务激活 >> status,wait,doing +done状态任务激活 >> status,done,doing +pause状态任务激活 >> status,pause,doing +cancel状态任务激活 >> status,cancel,doing +closed状态任务激活 >> status,closed,doing + +*/ + +$taskIDList = array('37','39','40','41','42'); + +$task = new taskTest(); +r($task->activateTest($taskIDList[0])) && p('0:field,old,new') && e('status,wait,doing'); //wait状态任务激活 +r($task->activateTest($taskIDList[1])) && p('0:field,old,new') && e('status,done,doing'); //done状态任务激活 +r($task->activateTest($taskIDList[2])) && p('0:field,old,new') && e('status,pause,doing'); //pause状态任务激活 +r($task->activateTest($taskIDList[3])) && p('0:field,old,new') && e('status,cancel,doing'); //cancel状态任务激活 +r($task->activateTest($taskIDList[4])) && p('0:field,old,new') && e('status,closed,doing'); //closed状态任务激活 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/assign.php b/test/model/task/assign.php new file mode 100755 index 0000000000..e41b507211 --- /dev/null +++ b/test/model/task/assign.php @@ -0,0 +1,38 @@ +#!/usr/bin/env php +assign(); +cid=1 +pid=1 + +wite状态任务指派 >> assignedTo,,user92 +doing状态任务指派 >> assignedTo,,user93 +done状态任务指派 >> assignedTo,,user94 +pause状态任务指派 >> assignedTo,,user95 +cancel状态任务指派 >> assignedTo,,user96 +closed状态任务指派 >> assignedTo,,user97 + +*/ + +$taskIDlist = array('1','2','3','4','5','6'); + +$waitTask = array('assignedTo' => 'user92','status' => 'wait'); +$doingTask = array('assignedTo' => 'user93','status' => 'doing'); +$doneTask = array('assignedTo' => 'user94','status' => 'done'); +$pauseTask = array('assignedTo' => 'user95','status' => 'pause'); +$cancelTask = array('assignedTo' => 'user96','status' => 'cancel'); +$closedTask = array('assignedTo' => 'user97','status' => 'closed'); + +$task = new taskTest(); +r($task->assignTest($taskIDlist[0],$waitTask)) && p('0:field,old,new') && e('assignedTo,,user92'); // wite状态任务指派 +r($task->assignTest($taskIDlist[1],$doingTask)) && p('0:field,old,new') && e('assignedTo,,user93'); // doing状态任务指派 +r($task->assignTest($taskIDlist[2],$doneTask)) && p('0:field,old,new') && e('assignedTo,,user94'); // done状态任务指派 +r($task->assignTest($taskIDlist[3],$pauseTask)) && p('0:field,old,new') && e('assignedTo,,user95'); // pause状态任务指派 +r($task->assignTest($taskIDlist[4],$cancelTask)) && p('0:field,old,new') && e('assignedTo,,user96'); // cancel状态任务指派 +r($task->assignTest($taskIDlist[5],$closedTask)) && p('0:field,old,new') && e('assignedTo,,user97'); // closed状态任务指派 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/batchChangeModule.php b/test/model/task/batchChangeModule.php new file mode 100755 index 0000000000..6bfc958676 --- /dev/null +++ b/test/model/task/batchChangeModule.php @@ -0,0 +1,22 @@ +#!/usr/bin/env php +batchChangeModule(); +cid=1 +pid=1 + +返回批量修改的第一个值 >> module,21,22 + +*/ + +$moduleID = '22'; +$taskIDList = array('1','2','3'); + +$task = new taskTest(); +r($task->batchChangeModuleTest($taskIDList,$moduleID)) && p('0:field,old,new') && e('module,21,22'); // 返回批量修改的第一个值 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/batchCreate.php b/test/model/task/batchCreate.php new file mode 100755 index 0000000000..4108aee6b2 --- /dev/null +++ b/test/model/task/batchCreate.php @@ -0,0 +1,31 @@ +#!/usr/bin/env php +batchCreate(); +cid=1 +pid=1 + +测试正常的创建开发任务 >> 批量任务三 +测试正常的创建开发任务 >> 『任务类型』不能为空。 + +*/ + +$executionID = '101'; + +$name = array('批量任务一','批量任务二','批量任务三'); +$type = array('devel','test','design'); +$normal_create = array('name' => $name, 'type' => $type); + +$name = array('异常一','异常二','异常三'); +$Exception_create = array('name' => $name); + +$task = new taskTest(); +r($task->batchCreateObject($normal_create, $executionID)) && p('name') && e('批量任务三'); // 测试正常的创建开发任务 +r($task->batchCreateObject($Exception_create, $executionID)) && p('message:0') && e('『任务类型』不能为空。'); // 测试正常的创建开发任务 + +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/batchUpdate.php b/test/model/task/batchUpdate.php new file mode 100755 index 0000000000..65b239da78 --- /dev/null +++ b/test/model/task/batchUpdate.php @@ -0,0 +1,27 @@ +#!/usr/bin/env php +batchUpdate(); +cid=1 +pid=1 + +测试批量修改任务 >> name,开发任务17,批量修改任务一 + +*/ + +$taskID = '7'; + +$name = array( '7' => '批量修改任务一'); +$type = array( '7' => 'devel'); +$statuses = array('7' =>'doing'); + +$normal = array('names' => $name, 'types' => $type,'statuses'=> $statuses); + +$task = new taskTest(); +r($task->batchUpdateObject($normal, $taskID)) && p('1:field,old,new') && e('name,开发任务17,批量修改任务一'); // 测试批量修改任务 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/cancel.php b/test/model/task/cancel.php new file mode 100755 index 0000000000..32a08e874e --- /dev/null +++ b/test/model/task/cancel.php @@ -0,0 +1,29 @@ +#!/usr/bin/env php +cancel(); +cid=1 +pid=1 + +wait状态任务取消 >> status,wait,cancel +doing状态任务取消 >> status,doing,cancel +done状态任务取消 >> status,done,cancel +pause状态任务取消 >> status,pause,cancel +closed状态任务取消 >> status,closed,cancel + +*/ + +$taskIDlist = array('31','32','33','34','36'); + +$task = new taskTest(); +r($task->cancelTest($taskIDlist[0])) && p('0:field,old,new') && e('status,wait,cancel'); //wait状态任务取消 +r($task->cancelTest($taskIDlist[1])) && p('0:field,old,new') && e('status,doing,cancel'); //doing状态任务取消 +r($task->cancelTest($taskIDlist[2])) && p('0:field,old,new') && e('status,done,cancel'); //done状态任务取消 +r($task->cancelTest($taskIDlist[3])) && p('0:field,old,new') && e('status,pause,cancel'); //pause状态任务取消 +r($task->cancelTest($taskIDlist[4])) && p('0:field,old,new') && e('status,closed,cancel'); //closed状态任务取消 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/closed.php b/test/model/task/closed.php new file mode 100755 index 0000000000..b35e2534d2 --- /dev/null +++ b/test/model/task/closed.php @@ -0,0 +1,29 @@ +#!/usr/bin/env php +close(); +cid=1 +pid=1 + +wait状态任务关闭 >> status,wait,closed +doing状态任务关闭 >> status,doing,closed +done状态任务关闭 >> status,done,closed +pause状态任务关闭 >> status,pause,closed +cancel状态任务关闭 >> status,cancel,closed + +*/ + +$taskIDList = array('25','26','27','28','29'); + +$task = new taskTest(); +r($task->closeTest($taskIDList[0])) && p('0:field,old,new') && e('status,wait,closed'); //wait状态任务关闭 +r($task->closeTest($taskIDList[1])) && p('0:field,old,new') && e('status,doing,closed'); //doing状态任务关闭 +r($task->closeTest($taskIDList[2])) && p('0:field,old,new') && e('status,done,closed'); //done状态任务关闭 +r($task->closeTest($taskIDList[3])) && p('0:field,old,new') && e('status,pause,closed'); //pause状态任务关闭 +r($task->closeTest($taskIDList[4])) && p('0:field,old,new') && e('status,cancel,closed'); //cancel状态任务关闭 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/create.php b/test/model/task/create.php new file mode 100755 index 0000000000..8c624c340f --- /dev/null +++ b/test/model/task/create.php @@ -0,0 +1,61 @@ +#!/usr/bin/env php +create(); +cid=1 +pid=1 + +测试正常的创建开发任务 >> 开发任务一 +测试正常的创建设计任务 >> 11 +测试正常的创建需求任务 >> 101 +测试正常的创建测试任务 >> test +测试正常的创建研究任务 >> 3 +测试正常的创建讨论任务 >> wait +测试正常的创建界面任务 >> admin +测试正常的创建事务任务 >> 2021-01-10 +测试正常的创建其他任务 >> 2021-03-19 +测试不输入名称创建任务 >> 『任务名称』不能为空。 +测试不输入类型创建任务 >> 『任务类型』不能为空。 +测试开始时间大于结束时间 >> 『截止日期』应当不小于『2021-04-10』。 +测试指派人任务 >> user92 + +*/ + +$executionID = '101'; + +$t_devel = array('name' => '开发任务一', 'type' => 'devel'); +$t_design = array('name' => '设计任务一', 'type' => 'design'); +$t_request = array('name' => '需求任务一', 'type' => 'request'); +$t_test = array('name' => '测试任务一', 'type' => 'test'); +$t_study = array('name' => '研究任务一', 'type' => 'study'); +$t_discuss = array('name' => '讨论任务一', 'type' => 'discuss'); +$t_ui = array('name' => '界面任务一', 'type' => 'ui'); +$t_affair = array('name' => '事务任务一', 'type' => 'affair'); +$t_misc = array('name' => '其他任务一', 'type' => 'misc'); +$t_noname = array('name' => '', 'type' => 'devel'); +$t_notype = array('name' => '特殊任务一', 'type' => ''); +$t_errortime = array('name' => '特殊任务二', 'type' => 'devel', 'estStarted' => '2021-04-10', 'deadline' => '2021-03-19'); +$assignedTo = array('user92'); +$t_assign = array('name' => '指派人user92任务', 'type' => 'devel', 'assignedTo' => $assignedTo); + +$task=new taskTest(); +r($task->createObject( $t_devel, $executionID)) && p('name') && e('开发任务一'); // 测试正常的创建开发任务 +r($task->createObject( $t_design, $executionID)) && p('project') && e('11'); // 测试正常的创建设计任务 +r($task->createObject( $t_request, $executionID)) && p('execution') && e('101'); // 测试正常的创建需求任务 +r($task->createObject( $t_test, $executionID)) && p('type') && e('test'); // 测试正常的创建测试任务 +r($task->createObject( $t_study, $executionID)) && p('pri') && e('3'); // 测试正常的创建研究任务 +r($task->createObject( $t_discuss, $executionID)) && p('status') && e('wait'); // 测试正常的创建讨论任务 +r($task->createObject( $t_ui, $executionID)) && p('openedBy') && e('admin'); // 测试正常的创建界面任务 +r($task->createObject( $t_affair, $executionID)) && p('estStarted') && e('2021-01-10'); // 测试正常的创建事务任务 +r($task->createObject( $t_misc, $executionID)) && p('deadline') && e('2021-03-19'); // 测试正常的创建其他任务 +r($task->createObject( $t_noname, $executionID)) && p('name:0') && e('『任务名称』不能为空。'); // 测试不输入名称创建任务 +r($task->createObject( $t_notype, $executionID)) && p('type:0') && e('『任务类型』不能为空。'); // 测试不输入类型创建任务 +r($task->createObject( $t_errortime, $executionID)) && p('deadline:0') && e('『截止日期』应当不小于『2021-04-10』。'); // 测试开始时间大于结束时间 +r($task->createObject( $t_assign, $executionID)) && p('assignedTo') && e('user92'); // 测试指派人任务 + +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/deleteEstimate.php b/test/model/task/deleteEstimate.php new file mode 100755 index 0000000000..686771f7bd --- /dev/null +++ b/test/model/task/deleteEstimate.php @@ -0,0 +1,21 @@ +#!/usr/bin/env php +deleteEstimate(); +cid=1 +pid=1 + +根据estimateID查看预计工时 >> consumed,3,0 + +*/ + +$estimateID = '1'; + +$task = new taskTest(); +r($task->deleteEstimateTest($estimateID)) && p('0:field,old,new') && e('consumed,3,0'); // 根据estimateID查看预计工时 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/finish.php b/test/model/task/finish.php new file mode 100755 index 0000000000..5a428bf06d --- /dev/null +++ b/test/model/task/finish.php @@ -0,0 +1,41 @@ +#!/usr/bin/env php +finish(); +cid=1 +pid=1 + +wait状态任务完成 >> status,wait,done +doing状态任务完成 >> status,doing,done +done状态任务完成 >> finishedBy,,admin +pause状态任务完成 >> status,pause,done +cancel状态任务完成 >> status,cancel,done +closed状态任务完成 >> status,closed,done +总计消耗异常验证 >> "总计消耗"必须大于之前消耗 +本次消耗不为0 >> "本次消耗"不能为0 + +*/ + +$taskIDList = array('7','8','9','10','11','12','13','14'); + +$currencyTask = array('consumed' => '17', 'currentConsumed' => '1'); +$consumedTask = array('consumed' => '0', 'currentConsumed' => '1'); +$currentConsumedTask = array('consumed' => '10', 'currentConsumed' => '0'); + +$task = new taskTest(); +sleep(2); +//var_dump($task->finishTest($taskIDList[2],$currencyTask));die; +r($task->finishTest($taskIDList[0],$currencyTask)) && p('0:field,old,new') && e('status,wait,done'); //wait状态任务完成 +r($task->finishTest($taskIDList[1],$currencyTask)) && p('0:field,old,new') && e('status,doing,done'); //doing状态任务完成 +r($task->finishTest($taskIDList[2],$currencyTask)) && p('4:field,old,new') && e('finishedBy,,admin'); //done状态任务完成 +r($task->finishTest($taskIDList[3],$currencyTask)) && p('0:field,old,new') && e('status,pause,done'); //pause状态任务完成 +r($task->finishTest($taskIDList[4],$currencyTask)) && p('0:field,old,new') && e('status,cancel,done'); //cancel状态任务完成 +r($task->finishTest($taskIDList[5],$currencyTask)) && p('0:field,old,new') && e('status,closed,done'); //closed状态任务完成 +r($task->finishTest($taskIDList[6],$consumedTask)) && p() && e('"总计消耗"必须大于之前消耗'); //总计消耗异常验证 +r($task->finishTest($taskIDList[7],$currentConsumedTask)) && p() && e('"本次消耗"不能为0'); //本次消耗不为0 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getById.php b/test/model/task/getById.php new file mode 100755 index 0000000000..69ba991604 --- /dev/null +++ b/test/model/task/getById.php @@ -0,0 +1,21 @@ +#!/usr/bin/env php +getById(); +cid=1 +pid=1 + +根据taskID查找任务详情 >> 开发任务60 + +*/ + +$taskID = '50'; + +$task = new taskTest(); +r($task->getByIdTest($taskID)) && p('name') && e('开发任务60'); //根据taskID查找任务详情 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getByList.php b/test/model/task/getByList.php new file mode 100755 index 0000000000..de3898e55b --- /dev/null +++ b/test/model/task/getByList.php @@ -0,0 +1,21 @@ +#!/usr/bin/env php +getByList(); +cid=1 +pid=1 + +根据taskID查找任务详情 >> 开发任务61 + +*/ + +$taskID = '51'; + +$task = new taskTest(); +r($task->getByListTest($taskID)) && p('51:name') && e('开发任务61'); //根据taskID查找任务详情 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getEstimateById.php b/test/model/task/getEstimateById.php new file mode 100755 index 0000000000..995210d130 --- /dev/null +++ b/test/model/task/getEstimateById.php @@ -0,0 +1,21 @@ +#!/usr/bin/env php +getEstimateById(); +cid=1 +pid=1 + +根据estimateID查看预计工时 >> 这里是工作内容1 + +*/ + +$estimateID = '1'; + +$task = new taskTest(); +r($task->getEstimateByIdTest($estimateID)) && p('work') && e('这里是工作内容1'); // 根据estimateID查看预计工时 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getExecutionTaskPairs.php b/test/model/task/getExecutionTaskPairs.php new file mode 100755 index 0000000000..cb4024d0bc --- /dev/null +++ b/test/model/task/getExecutionTaskPairs.php @@ -0,0 +1,21 @@ +#!/usr/bin/env php +getExecutionTaskPairs(); +cid=1 +pid=1 + +根据执行id查出任务id与name >> 2::开发任务12 + +*/ + +$executionID = '102'; + +$task = new taskTest(); +r($task->getExecutionTaskPairsTest($executionID)) && p('2') && e('2::开发任务12'); //根据执行id查出任务id与name +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getExecutionTasks.php b/test/model/task/getExecutionTasks.php new file mode 100755 index 0000000000..5fa3332f73 --- /dev/null +++ b/test/model/task/getExecutionTasks.php @@ -0,0 +1,24 @@ +#!/usr/bin/env php +getExecutionTasks(); +cid=1 +pid=1 + +根据执行id获取任务列表 >> 开发任务11 +根据执行id获取任务数量 >> 1 + +*/ + +$executionID = '101'; +$count = array('0','1'); + +$task = new taskTest(); +r($task->getExecutionTasksTest($executionID,$count[0])) && p('1:name') && e('开发任务11'); //根据执行id获取任务列表 +r($task->getExecutionTasksTest($executionID,$count[1])) && p() && e('1'); //根据执行id获取任务数量 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getStoryTaskCounts.php b/test/model/task/getStoryTaskCounts.php new file mode 100755 index 0000000000..53d0bd8009 --- /dev/null +++ b/test/model/task/getStoryTaskCounts.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +getStoryTaskCounts(); +cid=1 +pid=1 + +根据需求1查看任务数量 >> 6 +根据需求5查看任务数量 >> 6 +根据需求9查看任务数量 >> 6 + +*/ + +$storyIDList = array('1','5','9'); + +$task = new taskTest(); +r($task->getStoryTaskCountsTest($storyIDList)) && p('1') && e('6'); // 根据需求1查看任务数量 +r($task->getStoryTaskCountsTest($storyIDList)) && p('5') && e('6'); // 根据需求5查看任务数量 +r($task->getStoryTaskCountsTest($storyIDList)) && p('9') && e('6'); // 根据需求9查看任务数量 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getStoryTasks.php b/test/model/task/getStoryTasks.php new file mode 100755 index 0000000000..57eff3d6c1 --- /dev/null +++ b/test/model/task/getStoryTasks.php @@ -0,0 +1,24 @@ +#!/usr/bin/env php +getStoryTasks(); +cid=1 +pid=1 + +根据需求查看任务 >> 开发任务11 +根据需求查看任务数量统计 >> 6 + +*/ + +$storyID = '1'; +$count = array('0','1'); + +$task = new taskTest(); +r($task->getStoryTasksTest($storyID,$count[0])) && p('1:name') && e('开发任务11'); // 根据需求查看任务 +r($task->getStoryTasksTest($storyID,$count[1])) && p() && e('6'); // 根据需求查看任务数量统计 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getTaskEstimate.php b/test/model/task/getTaskEstimate.php new file mode 100755 index 0000000000..554d018d2f --- /dev/null +++ b/test/model/task/getTaskEstimate.php @@ -0,0 +1,23 @@ +#!/usr/bin/env php +getTaskEstimate(); +cid=1 +pid=1 + +查看任务预计 >> 55 + +*/ + +$taskID = '55'; +$waitstart = array('assignedTo' => 'user92','consumed' => '10'); + +$task = new taskTest(); +$task->startTest($taskID,$waitstart); +r($task->getTaskEstimateTest($taskID)) && p('0:task') && e('55'); // 查看任务预计 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getTasksByModule.php b/test/model/task/getTasksByModule.php new file mode 100755 index 0000000000..6541590f09 --- /dev/null +++ b/test/model/task/getTasksByModule.php @@ -0,0 +1,26 @@ +#!/usr/bin/env php +getTasksByModule(); +cid=1 +pid=1 + +根据模块获取任务列表 >> 开发任务11 +根据模块获取任务数量 >> 1 + +*/ + +$executionID = '101'; +$moduleIdList = '21'; + +$count = array('0','1'); + +$task = new taskTest(); +r($task->getTasksByModuleTest($executionID,$moduleIdList,$count[0])) && p('0:name') && e('开发任务11'); //根据模块获取任务列表 +r($task->getTasksByModuleTest($executionID,$moduleIdList,$count[1])) && p() && e('1'); //根据模块获取任务数量 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getUserSuspendedTasks.php b/test/model/task/getUserSuspendedTasks.php new file mode 100755 index 0000000000..23ead1e39f --- /dev/null +++ b/test/model/task/getUserSuspendedTasks.php @@ -0,0 +1,23 @@ +#!/usr/bin/env php +getUserSuspendedTasks(); +cid=1 +pid=1 + +根据指派人员查看执行和任务对应关系 >> 开发任务33 + +*/ + +$taskID = '23'; +$assignedTo = 'test14'; + +$task = new taskTest(); +//var_dump($task->getUserSuspendedTasksTest($taskID,$assignedTo));die; +r($task->getUserSuspendedTasksTest($taskID,$assignedTo)) && p(''.$taskID.':name') && e('开发任务33'); // 根据指派人员查看执行和任务对应关系 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getUserTaskPairs.php b/test/model/task/getUserTaskPairs.php new file mode 100755 index 0000000000..d18320b50a --- /dev/null +++ b/test/model/task/getUserTaskPairs.php @@ -0,0 +1,22 @@ +#!/usr/bin/env php +getUserTaskPairs(); +cid=1 +pid=1 + +根据指派人员查看执行和任务对应关系 >> 迭代3 / 开发任务13 + +*/ + +$taskID = '3'; +$assignedTo = 'user95'; + +$task = new taskTest(); +r($task->getUserTaskPairsTest($taskID,$assignedTo)) && p('3') && e('迭代3 / 开发任务13'); // 根据指派人员查看执行和任务对应关系 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/getUserTasks.php b/test/model/task/getUserTasks.php new file mode 100755 index 0000000000..dc8888a05b --- /dev/null +++ b/test/model/task/getUserTasks.php @@ -0,0 +1,22 @@ +#!/usr/bin/env php +getUserTasks(); +cid=1 +pid=1 + +根据指派人员查看任务 >> 开发任务12 + +*/ + +$taskID = '2'; +$assignedTo = 'user92'; + +$task = new taskTest(); +r($task->getUserTasksTest($taskID,$assignedTo)) && p('2:name') && e('开发任务12'); // 根据指派人员查看任务 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/pause.php b/test/model/task/pause.php new file mode 100755 index 0000000000..2e29aae650 --- /dev/null +++ b/test/model/task/pause.php @@ -0,0 +1,29 @@ +#!/usr/bin/env php +pause(); +cid=1 +pid=1 + +wait状态任务暂停 >> status,wait,pause +doing状态任务暂停 >> status,doing,pause +done状态任务暂停 >> status,done,pause +cancel状态任务暂停 >> status,cancel,pause +closed状态任务暂停 >> status,closed,pause + +*/ + +$taskIDList = array('19','20','21','23','24'); + +$task = new taskTest(); +r($task->pauseTest($taskIDList[0])) && p('0:field,old,new') && e('status,wait,pause'); //wait状态任务暂停 +r($task->pauseTest($taskIDList[1])) && p('0:field,old,new') && e('status,doing,pause'); //doing状态任务暂停 +r($task->pauseTest($taskIDList[2])) && p('0:field,old,new') && e('status,done,pause'); //done状态任务暂停 +r($task->pauseTest($taskIDList[3])) && p('0:field,old,new') && e('status,cancel,pause'); //cancel状态任务暂停 +r($task->pauseTest($taskIDList[4])) && p('0:field,old,new') && e('status,closed,pause'); //closed状态任务暂停 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/recordEstimate.php b/test/model/task/recordEstimate.php new file mode 100755 index 0000000000..98e9e5e17f --- /dev/null +++ b/test/model/task/recordEstimate.php @@ -0,0 +1,28 @@ +#!/usr/bin/env php +recordEstimate(); +cid=1 +pid=1 + +正常记录工时 >> status,wait,doing +pause任务记录工时 >> status,pause,doing + +*/ +$taskIDList = array('1','4'); + +$consumed = array('2','',''); +$left = array('1','',''); +$work = array('测试','',''); + +$create = array('consumed' => $consumed, 'left' => $left, 'work' => $work); + +$task = new taskTest('admin'); +r($task->recordEstimateTest($taskIDList[0],$create)) && p('2:field,old,new') && e('status,wait,doing'); // 正常记录工时 +r($task->recordEstimateTest($taskIDList[1],$create)) && p('2:field,old,new') && e('status,pause,doing'); // pause任务记录工时 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/start.php b/test/model/task/start.php new file mode 100755 index 0000000000..e333cdfffe --- /dev/null +++ b/test/model/task/start.php @@ -0,0 +1,31 @@ +#!/usr/bin/env php +startTest(); +cid=1 +pid=1 + +wait状态任务开始 >> status,wait,doing +doing状态任务开始 >> 此任务已被启动,不能重复启动! +pause状态任务开始 >> status,pause,doing +closed状态任务开始 >> status,closed,doing + +*/ + +$taskIDList = array('1','4','6'); + +$waitstart = array('assignedTo' => 'user92','consumed' => '10'); +$pausestart = array('assignedTo' => 'user95','consumed' => '10'); +$closedstart = array('assignedTo' => 'user97','consumed' => '10'); + +$task = new taskTest(); +r($task->startTest($taskIDList[0],$waitstart)) && p('0:field,old,new') && e('status,wait,doing'); // wait状态任务开始 +r($task->startTest($taskIDList[0],$waitstart)) && p() && e('此任务已被启动,不能重复启动!'); // doing状态任务开始 +r($task->startTest($taskIDList[1],$pausestart)) && p('0:field,old,new') && e('status,pause,doing'); // pause状态任务开始 +r($task->startTest($taskIDList[2],$closedstart)) && p('0:field,old,new') && e('status,closed,doing'); // closed状态任务开始 +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/update.php b/test/model/task/update.php new file mode 100755 index 0000000000..66c5cad484 --- /dev/null +++ b/test/model/task/update.php @@ -0,0 +1,55 @@ +#!/usr/bin/env php +update(); +cid=1 +pid=1 + +测试修改任务名称 >> name,开发任务11,任务名修改 +测试无修改 >> 没有数据更新 +测试修改任务模块 >> module,24,25 +测试修改任务指派人 >> assignedTo,,user94 +测试修改任务类型 >> type,study,devel +测试修改任务状态 >> status,cancel,doing +测试修改任务优先级 >> pri,2,1 +测试修改任务所属执行 >> execution,107,101 +测试修改任务预计开始时间 >> estStarted,,2022-02-27 +测试修改任务截止时间 >> deadline,,2022-03-01 +测试修改任务关闭原因 >> 『关闭原因』必须为空。 + +*/ + +$estStarted = '2022-02-27'; +$deadline = '2022-03-01'; +$taskIDList = array('1','2','3','4','5','6','7','8','9'); + +$changename = array('name' => '任务名修改','estStarted' => $estStarted,'deadline' => $deadline); +$changemodule = array('module' => '25'); +$changeassign = array('assignedTo' => 'user94'); +$changetype = array('type' => 'devel'); +$changestatus = array('status' => 'doing'); +$changepri = array('pri' => '1'); +$changeexecution = array('execution' => '101'); +$changeestStarted = array('estStarted' => $estStarted); +$changedeadline = array('deadline' => $deadline); +$ckclosedReason = array('closedReason' => '关闭原因'); + +$task = new taskTest(); +r($task->updateObject($taskIDList[0], $changename)) && p('2:field,old,new') && e('name,开发任务11,任务名修改'); // 测试修改任务名称 +r($task->updateObject($taskIDList[0], $changename)) && p() && e('没有数据更新'); // 测试无修改 +r($task->updateObject($taskIDList[1], $changemodule)) && p('2:field,old,new') && e('module,24,25'); // 测试修改任务模块 +r($task->updateObject($taskIDList[2], $changeassign)) && p('3:field,old,new') && e('assignedTo,,user94'); // 测试修改任务指派人 +r($task->updateObject($taskIDList[3], $changetype)) && p('2:field,old,new') && e('type,study,devel'); // 测试修改任务类型 +r($task->updateObject($taskIDList[4], $changestatus)) && p('2:field,old,new') && e('status,cancel,doing'); // 测试修改任务状态 +r($task->updateObject($taskIDList[5], $changepri)) && p('2:field,old,new') && e('pri,2,1'); // 测试修改任务优先级 +r($task->updateObject($taskIDList[6], $changeexecution)) && p('2:field,old,new') && e('execution,107,101'); // 测试修改任务所属执行 +r($task->updateObject($taskIDList[7], $changeestStarted)) && p('0:field,old,new') && e('estStarted,,2022-02-27'); // 测试修改任务预计开始时间 +r($task->updateObject($taskIDList[8], $changedeadline)) && p('1:field,old,new') && e('deadline,,2022-03-01'); // 测试修改任务截止时间 +r($task->updateObject($taskIDList[0], $ckclosedReason)) && p('closedReason:0') && e(' 『关闭原因』必须为空。'); // 测试修改任务关闭原因 + +system("./ztest init"); \ No newline at end of file diff --git a/test/model/task/updateEstimate.php b/test/model/task/updateEstimate.php new file mode 100755 index 0000000000..042afb425d --- /dev/null +++ b/test/model/task/updateEstimate.php @@ -0,0 +1,32 @@ +#!/usr/bin/env php +updateEstimate(); +cid=1 +pid=1 + +根据estimateID查看预计工时 >> consumed,3,1 +根据estimateID查看预计工时 >> consumed,1,5 +根据estimateID查看预计工时 >> consumed,5,1 +根据estimateID查看预计工时 >> status,wait,done + +*/ + +$estimateID = '1'; + +$updateDate = array('date' => '2022-02-22'); +$updateConsumed = array('consumed' => '5'); +$updateLeft = array('left' => '1'); +$noLeft = array('left' => '0'); + +$task = new taskTest(); +r($task->updateEstimateTest($estimateID, $updateDate)) && p('0:field,old,new') && e('consumed,3,1'); // 根据estimateID查看预计工时 +r($task->updateEstimateTest($estimateID, $updateConsumed)) && p('0:field,old,new') && e('consumed,1,5'); // 根据estimateID查看预计工时 +r($task->updateEstimateTest($estimateID, $updateLeft)) && p('0:field,old,new') && e('consumed,5,1'); // 根据estimateID查看预计工时 +r($task->updateEstimateTest($estimateID, $noLeft)) && p('1:field,old,new') && e('status,wait,done'); // 根据estimateID查看预计工时 +system("./ztest init"); \ No newline at end of file