From 79abe30e7276172bfda677d99e1684330a2087da Mon Sep 17 00:00:00 2001 From: wangyidong Date: Tue, 26 Aug 2014 09:21:33 +0000 Subject: [PATCH] * fix a bug #598. --- module/testtask/control.php | 4 ++-- module/testtask/model.php | 18 ++++++++++++------ module/testtask/view/results.html.php | 14 ++++++-------- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/module/testtask/control.php b/module/testtask/control.php index 9f9de76ce4..cdb18ef28a 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -723,7 +723,7 @@ class testtask extends control $this->view->run = $run; $this->view->preCase = $preCase; $this->view->nextCase = $nextCase; - $this->view->results = $this->testtask->getResults(0, $caseID); + $this->view->results = $this->testtask->getResults($runID, $caseID); $this->view->users = $this->loadModel('user')->getPairs('noclosed, noletter'); $this->view->caseID = $caseID; $this->view->version = $version; @@ -804,12 +804,12 @@ class testtask extends control $testtaskID = $this->dao->select('task')->from(TABLE_TESTRUN)->where('id')->eq($runID)->fetch('task'); $testtask = $this->dao->select('build, product')->from(TABLE_TESTTASK)->where('id')->eq($testtaskID)->fetch(); - $builds = $this->loadModel('build')->getProductBuildPairs($testtask->product); $this->view->build = isset($builds[$testtask->build]) ? $builds[$testtask->build] : ''; } $this->view->case = $case; $this->view->results = $results; + $this->view->builds = $this->loadModel('build')->getProductBuildPairs($case->product); $this->view->users = $this->loadModel('user')->getPairs('noclosed, noletter'); die($this->display()); diff --git a/module/testtask/model.php b/module/testtask/model.php index 35f410dfc0..d84e8ece54 100644 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -448,23 +448,29 @@ class testtaskModel extends model if(!$results) return array(); $relatedVersions = array(); + $runIdList = array(); foreach($results as $result) { - $relatedVersions[] = $result->version; - $runCaseID = $result->case; + $runIdList[$result->run] = $result->run; + $relatedVersions[] = $result->version; + $runCaseID = $result->case; } $relatedVersions = array_unique($relatedVersions); - $relatedSteps = $this->dao->select('*')->from(TABLE_CASESTEP) - ->beginIF($caseID)->where('`case`')->eq($caseID)->fi() - ->beginIF($runID)->where('`case`')->eq($runCaseID)->fi() + $relatedSteps = $this->dao->select('*')->from(TABLE_CASESTEP) + ->where('`case`')->eq($runCaseID) ->andWhere('version')->in($relatedVersions) ->fetchAll(); + $runs = $this->dao->select('t1.id,t2.build')->from(TABLE_TESTRUN)->alias('t1') + ->leftJoin(TABLE_TESTTASK)->alias('t2')->on('t1.task=t2.id') + ->where('t1.id')->in($runIdList) + ->fetchPairs(); foreach($results as $resultID => $result) { $result->stepResults = unserialize($result->stepResults); - $results[$resultID] = $result; + $result->build = $result->run ? zget($runs, $result->run, 0) : 0; + $results[$resultID] = $result; foreach($relatedSteps as $key => $step) { diff --git a/module/testtask/view/results.html.php b/module/testtask/view/results.html.php index 5b9ce237c8..23641ff28f 100644 --- a/module/testtask/view/results.html.php +++ b/module/testtask/view/results.html.php @@ -29,26 +29,24 @@ caseResult == 'pass' ? 'success' : ($result->caseResult == 'fail' ? 'danger' : ($result->caseResult == 'blocked' ? 'warning' : ''))); - if($class != 'success') $failCount++; + $class = ($result->caseResult == 'pass' ? 'success' : ($result->caseResult == 'fail' ? 'danger' : ($result->caseResult == 'blocked' ? 'warning' : ''))); + if($class != 'success') $failCount++; ?> - + + -
- -
testtask->build . $lang->colon . $build;?>
- - testcase->result?>   testtask->showResult, $count)?> + testcase->result?>   testtask->showResult, $count)?>
  #id?> date;?> lastRunner] . ' ' . $lang->testtask->runCase;?>testcase->resultList[$result->caseResult]?>build);?>testcase->resultList[$result->caseResult]?>
+