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.