diff --git a/module/testcase/model.php b/module/testcase/model.php index 7c21c270da..4e4357626b 100644 --- a/module/testcase/model.php +++ b/module/testcase/model.php @@ -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. * diff --git a/module/testcase/test/model/importfromlib.php b/module/testcase/test/model/importfromlib.php deleted file mode 100755 index 7b97f5a038..0000000000 --- a/module/testcase/test/model/importfromlib.php +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env php -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 diff --git a/module/testcase/test/testcase.class.php b/module/testcase/test/testcase.class.php index e040502fbb..efb80943b5 100644 --- a/module/testcase/test/testcase.class.php +++ b/module/testcase/test/testcase.class.php @@ -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.