* Refactor testcaseModel::getModuleCases, and modify its unit test.
This commit is contained in:
@@ -181,11 +181,12 @@ class testcaseModel extends model
|
||||
}
|
||||
|
||||
/**
|
||||
* Get cases of a module.
|
||||
* 获取模块的用例。
|
||||
* Get cases of modules.
|
||||
*
|
||||
* @param int $productID
|
||||
* @param int|string $branch
|
||||
* @param int $moduleIdList
|
||||
* @param int|array $moduleIdList
|
||||
* @param string $browseType
|
||||
* @param string $auto no|unit
|
||||
* @param string $caseType
|
||||
@@ -194,7 +195,7 @@ class testcaseModel extends model
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getModuleCases($productID, $branch = 0, $moduleIdList = 0, $browseType = '', $auto = 'no', $caseType = '', $orderBy = 'id_desc', $pager = null)
|
||||
public function getModuleCases(int $productID, int|string $branch = 0, int|array $moduleIdList = 0, string $browseType = '', string $auto = 'no', string $caseType = '', string $orderBy = 'id_desc', object $pager = null): array
|
||||
{
|
||||
$stmt = $this->dao->select('t1.*, t2.title as storyTitle, t2.deleted as storyDeleted')->from(TABLE_CASE)->alias('t1')
|
||||
->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story=t2.id');
|
||||
@@ -206,8 +207,7 @@ class testcaseModel extends model
|
||||
->beginIF($branch !== 'all')->andWhere('t1.branch')->eq($branch)->fi()
|
||||
->beginIF($moduleIdList)->andWhere('t1.module')->in($moduleIdList)->fi()
|
||||
->beginIF($browseType == 'wait')->andWhere('t1.status')->eq($browseType)->fi()
|
||||
->beginIF($auto == 'unit')->andWhere('t1.auto')->eq('unit')->fi()
|
||||
->beginIF($auto == 'auto')->andWhere('t1.auto')->eq('auto')->fi()
|
||||
->beginIF($auto == 'unit' || $auto == 'auto')->andWhere('t1.auto')->eq($auto)->fi()
|
||||
->beginIF($auto != 'unit' && $auto != 'auto')->andWhere('t1.auto')->ne('unit')->fi()
|
||||
->beginIF($caseType)->andWhere('t1.type')->eq($caseType)->fi()
|
||||
->andWhere('t1.deleted')->eq('0')
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/testcase.class.php';
|
||||
|
||||
zdTable('user')->gen('1');
|
||||
zdTable('case')->config('modulecase')->gen('100');
|
||||
zdTable('story')->gen('10');
|
||||
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
@@ -10,32 +15,37 @@ title=测试 testcaseModel->getModuleCases();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
测试获取产品1的case >> 这个是测试用例1;这个是测试用例2;这个是测试用例3;这个是测试用例4
|
||||
测试获取产品1 module 1821 1822 的case >> 0
|
||||
测试获取产品2的case >> 这个是测试用例5;这个是测试用例6;这个是测试用例7;这个是测试用例8
|
||||
测试获取产品2 module 1825 2827 的case >> 0
|
||||
测试获取产品3的case >> 这个是测试用例9;这个是测试用例10;这个是测试用例11;这个是测试用例
|
||||
测试获取产品3 module 1829 2832 的case >> 0
|
||||
测试获取产品4的case >> 这个是测试用例13;这个是测试用例14;这个是测试用例15;这个是测试用例
|
||||
测试获取产品4 module 1834 2835 的case >> 0
|
||||
测试获取产品5的case >> 这个是测试用例17;这个是测试用例18;这个是测试用例19;这个是测试用例
|
||||
测试获取产品5 module 1838 2840 的case >> 0
|
||||
|
||||
*/
|
||||
|
||||
$productIDList = array(1, 2, 3, 4, 5);
|
||||
$branch = 0;
|
||||
$moduleIDList = array('1821,1822', '1825,1827', '1829,1832', '1834,2835', '1838,1840');
|
||||
$productIDList = array(1, 2, 10001);
|
||||
$branchList = array(0, 'all');
|
||||
$moduleIdList = array(0, array(1821,1822), array(1825,1827), array(1829,1832));
|
||||
$browseList = array('', 'wait');
|
||||
$autoList = array('', 'no', 'unit');
|
||||
$caseTypeList = array('', 'feature');
|
||||
|
||||
$testcase = new testcaseTest();
|
||||
|
||||
r($testcase->getModuleCasesTest($productIDList[0])) && p('1:title;2:title;3:title;4:title') && e('这个是测试用例1;这个是测试用例2;这个是测试用例3;这个是测试用例4'); // 测试获取产品1的case
|
||||
r($testcase->getModuleCasesTest($productIDList[0], $branch, $moduleIDList[0])) && p() && e('0'); // 测试获取产品1 module 1821 1822 的case
|
||||
r($testcase->getModuleCasesTest($productIDList[1])) && p('5:title;6:title;7:title;8:title') && e('这个是测试用例5;这个是测试用例6;这个是测试用例7;这个是测试用例8'); // 测试获取产品2的case
|
||||
r($testcase->getModuleCasesTest($productIDList[1], $branch, $moduleIDList[1])) && p() && e('0'); // 测试获取产品2 module 1825 2827 的case
|
||||
r($testcase->getModuleCasesTest($productIDList[2])) && p('9:title;10:title;11:title;12:title') && e('这个是测试用例9;这个是测试用例10;这个是测试用例11;这个是测试用例'); // 测试获取产品3的case
|
||||
r($testcase->getModuleCasesTest($productIDList[2], $branch, $moduleIDList[2])) && p() && e('0'); // 测试获取产品3 module 1829 2832 的case
|
||||
r($testcase->getModuleCasesTest($productIDList[3])) && p('13:title;14:title;15:title;16:title') && e('这个是测试用例13;这个是测试用例14;这个是测试用例15;这个是测试用例'); // 测试获取产品4的case
|
||||
r($testcase->getModuleCasesTest($productIDList[3], $branch, $moduleIDList[3])) && p() && e('0'); // 测试获取产品4 module 1834 2835 的case
|
||||
r($testcase->getModuleCasesTest($productIDList[4])) && p('17:title;18:title;19:title;20:title') && e('这个是测试用例17;这个是测试用例18;这个是测试用例19;这个是测试用例'); // 测试获取产品5的case
|
||||
r($testcase->getModuleCasesTest($productIDList[4], $branch, $moduleIDList[4])) && p() && e('0'); // 测试获取产品5 module 1838 2840 的case
|
||||
r($testcase->getModuleCasesTest($productIDList[0], $branchList[0], $moduleIdList[0], $browseList[0], $autoList[0], $caseTypeList[0])) && p() && e('4,2,1'); // 测试获取产品1 分支 0 模块 0 browse 空 auto 空 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[0], $branchList[1], $moduleIdList[0], $browseList[0], $autoList[0], $caseTypeList[0])) && p() && e('4,2,1'); // 测试获取产品1 分支 all 模块 0 browse 空 auto 空 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[0], $branchList[0], $moduleIdList[1], $browseList[0], $autoList[0], $caseTypeList[0])) && p() && e('2,1'); // 测试获取产品1 分支 0 模块 1821 1822 browse 空 auto 空 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[0], $branchList[0], $moduleIdList[0], $browseList[1], $autoList[0], $caseTypeList[0])) && p() && e('1'); // 测试获取产品1 分支 0 模块 0 browse wait auto 空 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[0], $branchList[0], $moduleIdList[0], $browseList[0], $autoList[1], $caseTypeList[0])) && p() && e('4,2,1'); // 测试获取产品1 分支 0 模块 0 browse 空 auto no 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[0], $branchList[0], $moduleIdList[0], $browseList[0], $autoList[2], $caseTypeList[0])) && p() && e('3'); // 测试获取产品1 分支 0 模块 0 browse 空 auto unit 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[0], $branchList[0], $moduleIdList[0], $browseList[0], $autoList[0], $caseTypeList[1])) && p() && e('1'); // 测试获取产品1 分支 0 模块 0 browse 空 auto 空 用例类型 feature 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[0], $branchList[1], $moduleIdList[1], $browseList[1], $autoList[1], $caseTypeList[1])) && p() && e('1'); // 测试获取产品1 分支 all 模块 1821 1822 browse wait auto no 用例类型 feature 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[0], $branchList[1], $moduleIdList[1], $browseList[1], $autoList[2], $caseTypeList[1])) && p() && e('0'); // 测试获取产品1 分支 all 模块 1821 1822 browse wait auto unit 用例类型 feature 的cases
|
||||
|
||||
r($testcase->getModuleCasesTest($productIDList[1], $branchList[0], $moduleIdList[0], $browseList[0], $autoList[0], $caseTypeList[0])) && p() && e('8,7,5'); // 测试获取产品2 分支 0 模块 0 browse 空 auto 空 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[1], $branchList[1], $moduleIdList[0], $browseList[0], $autoList[0], $caseTypeList[0])) && p() && e('8,7,5'); // 测试获取产品2 分支 all 模块 0 browse 空 auto 空 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[1], $branchList[0], $moduleIdList[1], $browseList[0], $autoList[0], $caseTypeList[0])) && p() && e('0'); // 测试获取产品2 分支 0 模块 1825 1827 browse 空 auto 空 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[1], $branchList[0], $moduleIdList[0], $browseList[1], $autoList[0], $caseTypeList[0])) && p() && e('5'); // 测试获取产品2 分支 0 模块 0 browse wait auto 空 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[1], $branchList[0], $moduleIdList[0], $browseList[0], $autoList[1], $caseTypeList[0])) && p() && e('8,7,5'); // 测试获取产品2 分支 0 模块 0 browse 空 auto no 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[1], $branchList[0], $moduleIdList[0], $browseList[0], $autoList[2], $caseTypeList[0])) && p() && e('6'); // 测试获取产品2 分支 0 模块 0 browse 空 auto unit 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[1], $branchList[0], $moduleIdList[0], $browseList[0], $autoList[0], $caseTypeList[1])) && p() && e('8'); // 测试获取产品2 分支 0 模块 0 browse 空 auto 空 用例类型 feature 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[1], $branchList[1], $moduleIdList[1], $browseList[1], $autoList[1], $caseTypeList[1])) && p() && e('0'); // 测试获取产品2 分支 all 模块 1825 1827 browse wait auto no 用例类型 feature 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[1], $branchList[1], $moduleIdList[1], $browseList[1], $autoList[2], $caseTypeList[1])) && p() && e('0'); // 测试获取产品2 分支 all 模块 1825 1827 browse wait auto unit 用例类型 feature 的cases
|
||||
|
||||
r($testcase->getModuleCasesTest($productIDList[2], $branchList[0], $moduleIdList[0], $browseList[0], $autoList[0], $caseTypeList[0])) && p() && e('0'); // 测试获取不存在的产品 分支 0 模块 0 browse 空 auto 空 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[2], $branchList[0], $moduleIdList[0], $browseList[0], $autoList[1], $caseTypeList[0])) && p() && e('0'); // 测试获取不存在的产品 分支 0 模块 0 browse 空 auto no 用例类型 空 的cases
|
||||
r($testcase->getModuleCasesTest($productIDList[2], $branchList[0], $moduleIdList[0], $browseList[0], $autoList[2], $caseTypeList[0])) && p() && e('0'); // 测试获取不存在的产品 分支 0 模块 0 browse 空 auto unit 用例类型 空 的cases
|
||||
|
||||
@@ -98,18 +98,17 @@ class testcaseTest
|
||||
* @param string $browseType
|
||||
* @param string $auto
|
||||
* @param string $caseType
|
||||
* @param string $orderBy
|
||||
* @param object $pager
|
||||
* @access public
|
||||
* @return array
|
||||
* @return string
|
||||
*/
|
||||
public function getModuleCasesTest($productID, $branch = 0, $moduleIdList = 0, $browseType = '', $auto = 'no', $caseType = '', $orderBy = 'id_desc', $pager = null)
|
||||
public function getModuleCasesTest(int $productID, int|string $branch = 0, int|array $moduleIdList = 0, string $browseType = '', string $auto = 'no', string $caseType = ''): string
|
||||
{
|
||||
$objects = $this->objectModel->getModuleCases($productID, $branch, $moduleIdList, $browseType, $auto, $caseType, $orderBy, $pager);
|
||||
$objects = $this->objectModel->getModuleCases($productID, $branch, $moduleIdList, $browseType, $auto, $caseType);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
$ids = is_array($objects) ? implode(',', array_keys($objects)) : '0';
|
||||
return $ids;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -88,7 +88,7 @@ fields:
|
||||
range: 1-3
|
||||
- field: order
|
||||
note: "排序"
|
||||
range: 1-500:5
|
||||
range: 5-200:5
|
||||
- field: openedBy
|
||||
note: "由谁创建"
|
||||
range: 1-100
|
||||
|
||||
Reference in New Issue
Block a user