From b41d153e1849040739c708d3cbd55dd06c2a5513 Mon Sep 17 00:00:00 2001 From: liugang Date: Mon, 11 Sep 2023 14:55:34 +0800 Subject: [PATCH] * testtask: refactor script to test the start method. --- module/testtask/test/model/start.php | 24 +++++++++++++++++++++--- module/testtask/test/testtask.class.php | 20 ++++++++++++++++---- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/module/testtask/test/model/start.php b/module/testtask/test/model/start.php index df29c3db4f..a20a65bc9f 100755 --- a/module/testtask/test/model/start.php +++ b/module/testtask/test/model/start.php @@ -2,6 +2,9 @@ gen(4); + su('admin'); /** @@ -10,10 +13,25 @@ title=测试 testtaskModel->start(); cid=1 pid=1 - - */ +$task1 = array('id' => 0); +$task2 = array('id' => ''); +$task3 = array('id' => 'id'); +$task4 = array('id' => 2); +$task5 = array('id' => 3); +$task6 = array('id' => 4); +$task7 = array('id' => 5); +$task8 = array('id' => 1, 'status' => 'doing', 'realBegan' => '2023-09-11', 'comment' => 'comment'); + $testtask = new testtaskTest(); -r($testtask->startTest()) && p() && e(); \ No newline at end of file +r($testtask->startTest($task1)) && p() && e(0); // 测试单 ID 为 0 返回 false。 +r($testtask->startTest($task2)) && p() && e(0); // 测试单 ID 为空字符串返回 false。 +r($testtask->startTest($task3)) && p() && e(0); // 测试单 ID 为字符串返回 false。 +r($testtask->startTest($task4)) && p() && e(0); // 测试单 ID 对应的测试单状态为 doing 返回 false。 +r($testtask->startTest($task5)) && p() && e(0); // 测试单 ID 对应的测试单状态为 done 返回 false。 +r($testtask->startTest($task6)) && p() && e(0); // 测试单 ID 对应的测试单状态为 blocked 返回 false。 +r($testtask->startTest($task7)) && p() && e(0); // 测试单 ID 对应的测试单不存在返回 false。 + +r($testtask->startTest($task8)) && p('task:id|status|realBegan;action:objectType|action|comment;history[0]:field|old|new;history[1]:field|old|new', '|') && e('1|doing|2023-09-11;testtask|started|comment;status|wait|doing;realBegan|~~|2023-09-11'); // 开始测试单 1 成功后检测测试单信息和日志。 diff --git a/module/testtask/test/testtask.class.php b/module/testtask/test/testtask.class.php index df515abc6b..de236099b4 100644 --- a/module/testtask/test/testtask.class.php +++ b/module/testtask/test/testtask.class.php @@ -35,13 +35,25 @@ class testtaskTest return $objects; } - public function startTest($taskID) + /** + * 测试开始一个测试单。 + * Test start a testtask. + * + * param array $task + * access public + * return bool|array + */ + public function startTest(array $task): bool|array { - $objects = $this->objectModel->start($taskID); - + $result = $this->objectModel->start((object)$task); if(dao::isError()) return dao::getError(); + if(!$result) return $result; - return $objects; + $task = $this->objectModel->getById($task['id']); + $action = $this->objectModel->dao->select('*')->from(TABLE_ACTION)->orderBy('id_desc')->limit(1)->fetch(); + $history = $this->objectModel->dao->select('*')->from(TABLE_HISTORY)->where('action')->eq($action->id)->fetchAll(); + + return array('task' => $task, 'action' => $action, 'history' => $history); } public function closeTest($taskID)