From 95130181d33d44f8a66cd018747ff65644f8dca4 Mon Sep 17 00:00:00 2001 From: zhouxin Date: Mon, 26 Aug 2024 15:56:56 +0800 Subject: [PATCH] * [bug52333,doing,1h] get cases and scenes. --- module/testtask/control.php | 1 + module/testtask/model.php | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/module/testtask/control.php b/module/testtask/control.php index 84b26e3009..8c973ca2c9 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -408,6 +408,7 @@ class testtask extends control /* 从数据库中查询一个测试单下关联的测试用例。*/ /* Query the cases associated with a testtask from the database. */ $runs = $this->testtask->getTaskCases($productID, $browseType, $queryID, $moduleID, $sort, $pager, $testtask); + $runs = $this->testtask->getSceneCases($productID, $runs); $this->loadModel('common')->saveQueryCondition($this->dao->get(), 'testcase', false); list($runs, $scenes) = $this->testtask->getSceneCases($productID, $runs); diff --git a/module/testtask/model.php b/module/testtask/model.php index ba57f75e71..99b34fdae6 100755 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -1050,6 +1050,24 @@ class testtaskModel extends model ->fetchAll('id'); } + public function getSceneCases($productID, $runs) + { + $scenes = $this->dao->select('*')->from(TABLE_SCENE) + ->where('deleted')->eq('0') + ->andWhere('product')->eq($productID) + ->orderBy('grade_desc, sort_asc') + ->fetchAll('id'); + + foreach($runs as $run) $run->parent = !empty($run->scene) ? 'scene-' . $scenes[$run->scene]->id : 0; + foreach($scenes as $scene) + { + $scene->parent = !empty($scene->parent) ? 'scene-' . $scene->parent : 0; + $scene->id = 'scene-' . $scene->id; + } + + return array_merge($runs, $scenes); + } + /** * 获取用例以及场景数据。 * Get cases with scenes data.