+ finish task#573,task#575

This commit is contained in:
chencongzhi520@gmail.com
2011-10-16 09:21:30 +00:00
parent f433f23308
commit a5fe7d91d0
7 changed files with 64 additions and 22 deletions
+23 -3
View File
@@ -315,20 +315,40 @@ class testtask extends control
* Run case.
*
* @param int $runID
* @param String $extras others params, forexample, caseID=10, version=3
* @access public
* @return void
*/
public function runCase($runID)
public function runCase($runID, $extras = '')
{
if(!empty($_POST))
{
$this->testtask->createResult($runID);
$this->testtask->createResult($runID, $extras);
if(dao::isError()) die(js::error(dao::getError()));
echo js::reload('parent');
die(js::closeWindow());
}
$this->view->run = $this->testtask->getRunById($runID);
/* Pares the extras */
$extras = str_replace(array(',', ' '), array('&', ''), $extras);
parse_str($extras);
if(!isset($caseID))
{
$this->view->run = $this->testtask->getRunById($runID);
}
else
{
if(isset($version))
{
$this->view->run->case = $this->loadModel('testcase')->getById($caseID, $version);
$this->view->run->case->version = $version;
}
else
$this->view->run->case = $this->loadModel('testcase')->getById($caseID);
}
die($this->display());
}
+20 -10
View File
@@ -197,10 +197,11 @@ class testtaskModel extends model
* Create test result
*
* @param int $runID
* @param string $extras others params, forexample, caseID=10
* @access public
* @return void
*/
public function createResult($runID)
public function createResult($runID, $extras)
{
/* Compute the test result. */
$caseResult = 'pass';
@@ -224,6 +225,12 @@ class testtaskModel extends model
$stepResults[$stepID] = $step;
}
/* Pares the extras */
$extras = str_replace(array(',', ' '), array('&', ''), $extras);
parse_str($extras);
if(isset($caseID)) $runID = 0;
/* Insert into testResult table. */
$now = helper::now();
$result = fixer::input('post')
@@ -235,16 +242,19 @@ class testtaskModel extends model
->get();
$this->dao->insert(TABLE_TESTRESULT)->data($result)->autoCheck()->exec();
/* Update testRun's status. */
if(!dao::isError())
if(!isset($caseID))
{
$runStatus = $caseResult == 'blocked' ? 'blocked' : 'done';
$this->dao->update(TABLE_TESTRUN)
->set('lastResult')->eq($caseResult)
->set('status')->eq($runStatus)
->set('lastRun')->eq($now)
->where('id')->eq($runID)
->exec();
/* Update testRun's status. */
if(!dao::isError())
{
$runStatus = $caseResult == 'blocked' ? 'blocked' : 'done';
$this->dao->update(TABLE_TESTRUN)
->set('lastResult')->eq($caseResult)
->set('status')->eq($runStatus)
->set('lastRun')->eq($now)
->where('id')->eq($runID)
->exec();
}
}
}