* Remove testcaseModel::importFromLib and its unit test.

This commit is contained in:
liumengyi
2023-09-05 14:36:41 +08:00
parent 09e1edaf64
commit f5b6ee448f
3 changed files with 0 additions and 160 deletions
-106
View File
@@ -1288,112 +1288,6 @@ class testcaseModel extends model
return $fields;
}
/**
* Import case from Lib.
*
* @param int $productID
* @param int $libID
* @param int $branch
* @access public
* @return void
*/
public function importFromLib($productID, $libID, $branch)
{
$data = fixer::input('post')->get();
$prevModule = 0;
$prevBranch = 0;
foreach($data->module as $i => $module)
{
if($module != 'ditto') $prevModule = $module;
if($module == 'ditto') $data->module[$i] = $prevModule;
}
$caseModules = array();
$this->loadModel('testsuite');
if(isset($data->branch))
{
foreach($data->branch as $i => $branch)
{
if($branch != 'ditto') $prevBranch = $branch;
if($branch == 'ditto') $data->branch[$i] = $prevBranch;
if(!isset($caseModules[$data->branch[$i]])) $caseModules[$data->branch[$i]] = $this->testsuite->getCanImportModules($productID, $libID, $data->branch[$i]);
}
}
else
{
$caseModules[$branch] = $this->loadModel('testsuite')->getCanImportModules($productID, $libID, $branch);
}
$libCases = $this->dao->select('*')->from(TABLE_CASE)->where('deleted')->eq(0)->andWhere('id')->in($data->caseIdList)->fetchAll('id');
$libSteps = $this->dao->select('*')->from(TABLE_CASESTEP)->where('`case`')->in($data->caseIdList)->orderBy('id')->fetchGroup('case');
$libFiles = $this->dao->select('*')->from(TABLE_FILE)->where('objectID')->in($data->caseIdList)->andWhere('objectType')->eq('testcase')->fetchGroup('objectID', 'id');
$imported = '';
foreach($libCases as $libCaseID => $case)
{
$case->fromCaseID = $case->id;
$case->fromCaseVersion = (int)$case->version;
$case->product = $productID;
if(isset($data->module[$case->id])) $case->module = $data->module[$case->id];
if(isset($data->branch[$case->id])) $case->branch = $data->branch[$case->id];
unset($case->id);
$branch = isset($case->branch) ? $case->branch : 0;
if(empty($caseModules[$branch][$case->fromCaseID][$case->module]))
{
$imported .= "$case->fromCaseID,";
continue;
}
$this->dao->insert(TABLE_CASE)->data($case)->autoCheck()->exec();
if(!dao::isError())
{
$caseID = $this->dao->lastInsertID();
if(isset($libSteps[$libCaseID]))
{
foreach($libSteps[$libCaseID] as $step)
{
$step->case = $caseID;
unset($step->id);
$this->dao->insert(TABLE_CASESTEP)->data($step)->exec();
}
}
/* If under the project module, the cases is imported need linking to the project. */
if($this->app->tab == 'project')
{
$lastOrder = (int)$this->dao->select('*')->from(TABLE_PROJECTCASE)->where('project')->eq($this->session->project)->orderBy('order_desc')->limit(1)->fetch('order');
$this->dao->insert(TABLE_PROJECTCASE)
->set('project')->eq($this->session->project)
->set('product')->eq($case->product)
->set('case')->eq($caseID)
->set('version')->eq($case->version)
->set('order')->eq(++ $lastOrder)
->exec();
}
/* Fix bug #1518. */
$oldFiles = zget($libFiles, $libCaseID, array());
foreach($oldFiles as $fileID => $file)
{
$file->objectID = $caseID;
$file->addedBy = $this->app->user->account;
$file->addedDate = helper::now();
$file->downloads = 0;
unset($file->id);
$this->dao->insert(TABLE_FILE)->data($file)->exec();
}
$this->loadModel('action')->create('case', $caseID, 'fromlib', '', $case->lib);
}
}
if(!empty($imported)) return $imported;
return !dao::isError();
}
/**
* Import cases to lib.
*
@@ -1,30 +0,0 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/testcase.class.php';
su('admin');
/**
title=测试 testcaseModel->importFromLib();
cid=1
pid=1
测试导入用例库用例 401 402 >> 用例库用例1;用例库用例2
测试导入用例库用例 403 404 >> 用例库用例3;用例库用例4
测试导入用例库用例 405 406 >> 用例库用例5;用例库用例6
测试导入用例库用例 407 408 >> 用例库用例7;用例库用例8
测试导入用例库用例 409 410 >> 用例库用例9;用例库用例10
*/
$productID = 1;
$caseIdList = array(array('401' => '401', '402' => '402'), array('403' => '403', '404' => '404'), array('405' => '405', '406' => '406'), array('407' => '407', '408' => '408'), array('409' => '409', '410' => '410'));
$testcase = new testcaseTest();
r($testcase->importFromLibTest($productID, $caseIdList[0])) && p('0:title;1:title') && e('用例库用例1;用例库用例2'); // 测试导入用例库用例 401 402
r($testcase->importFromLibTest($productID, $caseIdList[1])) && p('0:title;1:title') && e('用例库用例3;用例库用例4'); // 测试导入用例库用例 403 404
r($testcase->importFromLibTest($productID, $caseIdList[2])) && p('0:title;1:title') && e('用例库用例5;用例库用例6'); // 测试导入用例库用例 405 406
r($testcase->importFromLibTest($productID, $caseIdList[3])) && p('0:title;1:title') && e('用例库用例7;用例库用例8'); // 测试导入用例库用例 407 408
r($testcase->importFromLibTest($productID, $caseIdList[4])) && p('0:title;1:title') && e('用例库用例9;用例库用例10'); // 测试导入用例库用例 409 410
-24
View File
@@ -641,30 +641,6 @@ class testcaseTest
return $object;
}
/**
* Test import case from Lib.
*
* @param int $productID
* @param array $caseIdList
* @access public
* @return array
*/
public function importFromLibTest($productID, $caseIdList = array())
{
$_POST['module'] = array('410' => 0, '409' => 'ditto', '408' => 'ditto', '407' => 'ditto', '406' => 'ditto', '405' => 'ditto', '404' => 'ditto', '403' => 'ditto', '402' => 'ditto', '401' => 'ditto');
$_POST['caseIdList'] = $caseIdList;
$this->objectModel->importFromLib($productID);
unset($_POST);
if(dao::isError()) return dao::getError();
global $tester;
$objects = $tester->dao->select('*')->from(TABLE_CASE)->where('fromCaseID')->in($caseIdList)->orderBy('id_asc')->fetchAll();
return $objects;
}
/**
* 测试追加 bug 和执行结果信息。
* Test append bugs and results.