diff --git a/module/testcase/control.php b/module/testcase/control.php index 2b97ef86ac..690063cc0d 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -68,6 +68,9 @@ class testcase extends control $this->session->set('browseType', $browseType); $this->session->set('orderBy', $orderBy); + /* Load lang. */ + $this->app->loadLang('testtask'); + /* Load pager. */ $this->app->loadClass('pager', $static = true); $pager = pager::init($recTotal, $recPerPage, $pageID); diff --git a/module/testcase/js/browse.js b/module/testcase/js/browse.js index c24929c408..3379b5f155 100644 --- a/module/testcase/js/browse.js +++ b/module/testcase/js/browse.js @@ -30,4 +30,5 @@ $(document).ready(function() $(document).ready(function() { if($('a.export').size()) $("a.export").colorbox({width:400, height:200, iframe:true, transition:'elastic', speed:350, scrolling:true}); + $(".results").colorbox({width:900, height:600, iframe:true, transition:'none'}); }) diff --git a/module/testcase/js/view.js b/module/testcase/js/view.js index fc84f392f3..42cff59a82 100755 --- a/module/testcase/js/view.js +++ b/module/testcase/js/view.js @@ -1,4 +1,5 @@ $(document).ready(function() { $(".runcase").colorbox({width:900, height:600, iframe:true, transition:'none'}); + $(".results").colorbox({width:900, height:600, iframe:true, transition:'none'}); }) diff --git a/module/testcase/view/browse.html.php b/module/testcase/view/browse.html.php index 4091f0b296..f2b06796af 100644 --- a/module/testcase/view/browse.html.php +++ b/module/testcase/view/browse.html.php @@ -60,8 +60,10 @@ var moduleID = ''; typeAB);?> openedByAB);?> + testtask->lastRun);?> + testtask->lastResult);?> statusAB);?> - actions;?> + actions;?> @@ -76,12 +78,15 @@ var moduleID = ''; testcase->typeList[$case->type];?> openedBy];?> + lastRun)) echo date(DT_MONTHTIME1, strtotime($case->lastRun));?> + lastResult) echo $lang->testcase->resultList[$case->lastResult];?> testcase->statusList[$case->status];?> id", $lang->testcase->buttonEdit); common::printLink('testcase', 'delete', "caseID=$case->id", $lang->delete, 'hiddenwin'); common::printLink('testtask', 'runCase', "runID=0&extras=caseID=$case->id", $this->app->loadLang('testtask')->testtask->runCase, '', 'class="runcase"'); + common::printLink('testtask', 'results', "runID=0&extras=caseID=$case->id,version=$case->version", $lang->testtask->results, '', 'class="results"'); ?> diff --git a/module/testcase/view/view.html.php b/module/testcase/view/view.html.php index 2e9f41745c..75f195b2e4 100644 --- a/module/testcase/view/view.html.php +++ b/module/testcase/view/view.html.php @@ -20,6 +20,7 @@ if(!$case->deleted) { common::printLink('testtask', 'runCase', "runID=0&extras=version=$currentVersion,caseID=$case->id", $this->app->loadLang('testtask')->testtask->runCase, '', 'class="runcase"'); + common::printLink('testtask', 'results', "runID=0&extras=caseID=$case->id,version=$case->version", $lang->testtask->results, '', 'class="results"'); common::printLink('testcase', 'edit', "caseID=$case->id", $lang->testcase->buttonEdit); common::printLink('testcase', 'create', "productID=$case->product&moduleID=$case->module&testcaseID=$case->id", $lang->copy); common::printLink('testcase', 'delete', "caseID=$case->id", $lang->delete, 'hiddenwin'); @@ -128,6 +129,14 @@ testcase->status;?> testcase->statusList[$case->status];?> + + + app->loadLang('testtask')->testtask->lastRun;?> + lastRun)) echo $case->lastRun;?> + + + app->loadLang('testtask')->testtask->lastResult;?> + lastResult) echo $lang->testcase->resultList[$case->lastResult];?> testcase->keywords;?> diff --git a/module/testtask/control.php b/module/testtask/control.php index 8ecbe993df..1116728ba3 100644 --- a/module/testtask/control.php +++ b/module/testtask/control.php @@ -356,13 +356,27 @@ class testtask extends control * View test results of a test run. * * @param int $runID + * @param string $extras others params, forexample, caseID=10 * @access public * @return void */ - public function results($runID) + public function results($runID, $extras = '') { - $this->view->run = $this->testtask->getRunById($runID); - $this->view->results = $this->testtask->getRunResults($runID); + /* Pares the extras */ + $extras = str_replace(array(',', ' '), array('&', ''), $extras); + parse_str($extras); + + if(isset($caseID)) + { + $this->view->run->case = $this->loadModel('testcase')->getById($caseID, $version); + $this->view->results = $this->testtask->getResults(0, $caseID); + } + else + { + $this->view->run = $this->testtask->getRunById($runID); + $this->view->results = $this->testtask->getResults($runID); + } + die($this->display()); } diff --git a/module/testtask/model.php b/module/testtask/model.php index e45c0c0962..0168cb7ada 100644 --- a/module/testtask/model.php +++ b/module/testtask/model.php @@ -242,6 +242,7 @@ class testtaskModel extends model ->remove('steps,reals,passall') ->get(); $this->dao->insert(TABLE_TESTRESULT)->data($result)->autoCheck()->exec(); + $this->dao->update(TABLE_CASE)->set('lastRun')->eq($now)->set('lastResult')->eq($caseResult)->where('id')->eq($this->post->case)->exec(); if(!isset($caseID)) { @@ -260,15 +261,23 @@ class testtaskModel extends model } /** - * Get results of a test run. + * Get results by runID or caseID * * @param int $runID * @access public * @return array */ - public function getRunResults($runID) + public function getResults($runID, $caseID = 0) { - $results = $this->dao->select('*')->from(TABLE_TESTRESULT)->where('run')->eq($runID)->orderBy('id desc')->fetchAll('id'); + if($caseID != 0) + { + $results = $this->dao->select('*')->from(TABLE_TESTRESULT)->where('`case`')->eq($caseID)->orderBy('id desc')->fetchAll('id'); + } + else + { + $results = $this->dao->select('*')->from(TABLE_TESTRESULT)->where('run')->eq($runID)->orderBy('id desc')->fetchAll('id'); + } + if(!$results) return array(); foreach($results as $resultID => $result) {