diff --git a/module/caselib/test/lib/caselib.unittest.class.php b/module/caselib/test/lib/caselib.unittest.class.php index eb358573bd..d3f47498c8 100644 --- a/module/caselib/test/lib/caselib.unittest.class.php +++ b/module/caselib/test/lib/caselib.unittest.class.php @@ -227,4 +227,28 @@ class caselibTest global $tester; return $tester->loadModel('testcase')->getByID($caseID); } + + /** + * 测试获取导出的用例库用例。 + * Test get cases to export. + * + * @param string $exportType + * @param string $orderBy + * @param int $limit + * @access public + * @return array|string + */ + public function getCasesToExportTest(string $browseType, string $exportType, string $orderBy, string $checkedItem = '', int $limit = 0): array|string + { + $moduleID = $browseType == 'bymodule' ? 101 : 0; + $this->objectModel->getLibCases(201, $browseType, 0, $moduleID, $orderBy); + $this->objectModel->loadModel('common')->saveQueryCondition($this->objectModel->dao->get(), 'testcase', true); + + if($exportType == 'selected') $_COOKIE['checkedItem']= $checkedItem; + $objects = $this->objectModel->getCasesToExport($exportType, $orderBy, $limit); + + if(dao::isError()) return dao::getError(); + + return implode(';', array_keys($objects)); + } } diff --git a/module/caselib/test/model/getcasestoexport.php b/module/caselib/test/model/getcasestoexport.php new file mode 100755 index 0000000000..939bd587a6 --- /dev/null +++ b/module/caselib/test/model/getcasestoexport.php @@ -0,0 +1,69 @@ +#!/usr/bin/env php +getCasesToExport(); +cid=1 + +- 测试导出用例库按照id倒序排列的所有用例 @429;427;425;423;421;419;417;415;413;411;409;407;405;403;401 +- 测试导出用例库按照id倒序排列的选择的用例 @429;427;417 +- 测试导出用例库按照id正序排列的所有用例 @401;403;405;407;409;411;413;415;417;419;421;423;425;427;429 +- 测试导出用例库按照id正序排列的选择的用例 @417;427;429 +- 测试导出用例库按照id倒序排列的10条用例 @429;427;425;423;421;419;417;415;413;411 +- 测试导出用例库模块id为101且按照id倒序排列的所有用例 @429;427;425;423;421;419;417;415;413;411;409;407;405;403;401 +- 测试导出用例库模块id为101且按照id倒序排列的选择的用例 @429;427;417 +- 测试导出用例库模块id为101且按照id正序排列的所有用例 @401;403;405;407;409;411;413;415;417;419;421;423;425;427;429 +- 测试导出用例库模块id为101且按照id正序排列的选择的用例 @417;427;429 +- 测试导出用例库模块id为101且按照id倒序排列的10条用例 @429;427;425;423;421;419;417;415;413;411 +- 测试导出用例库未评审的且按照id倒序排列的所有用例 @429;425;421;417;413;409;405;401 +- 测试导出用例库未评审的且按照id倒序排列的选择的用例 @429;417 +- 测试导出用例库未评审的且按照id正序排列的所有用例 @401;405;409;413;417;421;425;429 +- 测试导出用例库未评审的且按照id正序排列的选择的用例 @417;429 +- 测试导出用例库未评审的且按照id倒序排列的10条用例 @429;425;421;417;413;409;405;401 +- 测试导出用例库搜索且按照id倒序排列的所有用例 @429;427;425;423;421;419;417;415;413;411;409;407;405;403;401 +- 测试导出用例库搜索且按照id倒序排列的选择的用例 @429;427;417 +- 测试导出用例库搜索且按照id正序排列的所有用例 @401;403;405;407;409;411;413;415;417;419;421;423;425;427;429 +- 测试导出用例库搜索且按照id正序排列的选择的用例 @417;427;429 +- 测试导出用例库搜索且按照id倒序排列的10条用例 @429;427;425;423;421;419;417;415;413;411 + +*/ + +zenData('testsuite')->gen(405); +zenData('case')->loadYaml('libcase')->gen(30); +zenData('user')->gen(1); +zenData('module')->gen(20)->fixPath(); +su('admin'); + +$exportTypeList = array('all', 'selected'); +$browseTypeList = array('all', 'bymodule', 'wait', 'bysearch'); +$sortList = array('id_desc', 'id_asc'); +$checkedItem = array('', '429,427,417'); +$limitList = array(0, 10); + +$caselibTester = new caselibTest(); +r($caselibTester->getCasesToExportTest($browseTypeList[0], $exportTypeList[0], $sortList[0], $checkedItem[0], $limitList[0])) && p() && e('429;427;425;423;421;419;417;415;413;411;409;407;405;403;401'); // 测试导出用例库按照id倒序排列的所有用例 +r($caselibTester->getCasesToExportTest($browseTypeList[0], $exportTypeList[1], $sortList[0], $checkedItem[1], $limitList[0])) && p() && e('429;427;417'); // 测试导出用例库按照id倒序排列的选择的用例 +r($caselibTester->getCasesToExportTest($browseTypeList[0], $exportTypeList[0], $sortList[1], $checkedItem[0], $limitList[0])) && p() && e('401;403;405;407;409;411;413;415;417;419;421;423;425;427;429'); // 测试导出用例库按照id正序排列的所有用例 +r($caselibTester->getCasesToExportTest($browseTypeList[0], $exportTypeList[1], $sortList[1], $checkedItem[1], $limitList[0])) && p() && e('417;427;429'); // 测试导出用例库按照id正序排列的选择的用例 +r($caselibTester->getCasesToExportTest($browseTypeList[0], $exportTypeList[0], $sortList[0], $checkedItem[0], $limitList[1])) && p() && e('429;427;425;423;421;419;417;415;413;411'); // 测试导出用例库按照id倒序排列的10条用例 + +r($caselibTester->getCasesToExportTest($browseTypeList[1], $exportTypeList[0], $sortList[0], $checkedItem[0], $limitList[0])) && p() && e('429;427;425;423;421;419;417;415;413;411;409;407;405;403;401'); // 测试导出用例库模块id为101且按照id倒序排列的所有用例 +r($caselibTester->getCasesToExportTest($browseTypeList[1], $exportTypeList[1], $sortList[0], $checkedItem[1], $limitList[0])) && p() && e('429;427;417'); // 测试导出用例库模块id为101且按照id倒序排列的选择的用例 +r($caselibTester->getCasesToExportTest($browseTypeList[1], $exportTypeList[0], $sortList[1], $checkedItem[0], $limitList[0])) && p() && e('401;403;405;407;409;411;413;415;417;419;421;423;425;427;429'); // 测试导出用例库模块id为101且按照id正序排列的所有用例 +r($caselibTester->getCasesToExportTest($browseTypeList[1], $exportTypeList[1], $sortList[1], $checkedItem[1], $limitList[0])) && p() && e('417;427;429'); // 测试导出用例库模块id为101且按照id正序排列的选择的用例 +r($caselibTester->getCasesToExportTest($browseTypeList[1], $exportTypeList[0], $sortList[0], $checkedItem[0], $limitList[1])) && p() && e('429;427;425;423;421;419;417;415;413;411'); // 测试导出用例库模块id为101且按照id倒序排列的10条用例 + +r($caselibTester->getCasesToExportTest($browseTypeList[2], $exportTypeList[0], $sortList[0], $checkedItem[0], $limitList[0])) && p() && e('429;425;421;417;413;409;405;401'); // 测试导出用例库未评审的且按照id倒序排列的所有用例 +r($caselibTester->getCasesToExportTest($browseTypeList[2], $exportTypeList[1], $sortList[0], $checkedItem[1], $limitList[0])) && p() && e('429;417'); // 测试导出用例库未评审的且按照id倒序排列的选择的用例 +r($caselibTester->getCasesToExportTest($browseTypeList[2], $exportTypeList[0], $sortList[1], $checkedItem[0], $limitList[0])) && p() && e('401;405;409;413;417;421;425;429'); // 测试导出用例库未评审的且按照id正序排列的所有用例 +r($caselibTester->getCasesToExportTest($browseTypeList[2], $exportTypeList[1], $sortList[1], $checkedItem[1], $limitList[0])) && p() && e('417;429'); // 测试导出用例库未评审的且按照id正序排列的选择的用例 +r($caselibTester->getCasesToExportTest($browseTypeList[2], $exportTypeList[0], $sortList[0], $checkedItem[0], $limitList[1])) && p() && e('429;425;421;417;413;409;405;401'); // 测试导出用例库未评审的且按照id倒序排列的10条用例 + +r($caselibTester->getCasesToExportTest($browseTypeList[3], $exportTypeList[0], $sortList[0], $checkedItem[0], $limitList[0])) && p() && e('429;427;425;423;421;419;417;415;413;411;409;407;405;403;401'); // 测试导出用例库搜索且按照id倒序排列的所有用例 +r($caselibTester->getCasesToExportTest($browseTypeList[3], $exportTypeList[1], $sortList[0], $checkedItem[1], $limitList[0])) && p() && e('429;427;417'); // 测试导出用例库搜索且按照id倒序排列的选择的用例 +r($caselibTester->getCasesToExportTest($browseTypeList[3], $exportTypeList[0], $sortList[1], $checkedItem[0], $limitList[0])) && p() && e('401;403;405;407;409;411;413;415;417;419;421;423;425;427;429'); // 测试导出用例库搜索且按照id正序排列的所有用例 +r($caselibTester->getCasesToExportTest($browseTypeList[3], $exportTypeList[1], $sortList[1], $checkedItem[1], $limitList[0])) && p() && e('417;427;429'); // 测试导出用例库搜索且按照id正序排列的选择的用例 +r($caselibTester->getCasesToExportTest($browseTypeList[3], $exportTypeList[0], $sortList[0], $checkedItem[0], $limitList[1])) && p() && e('429;427;425;423;421;419;417;415;413;411'); // 测试导出用例库搜索且按照id倒序排列的10条用例