* Refactor testcaseModel::getImportFields, and modify its unit test.

This commit is contained in:
liumengyi
2023-09-12 14:05:34 +08:00
parent 8d2f3fc95a
commit 7958bd4f1e
3 changed files with 22 additions and 19 deletions
+9 -3
View File
@@ -1247,13 +1247,17 @@ class testcaseModel extends model
}
/**
* 获取导入的字段。
* Get fields for import.
*
* @param int $productID
* @access public
* @return array
*/
public function getImportFields($productID = 0)
public function getImportFields(int $productID = 0): array
{
/* If type of the product isn't normal, set language item of branch. */
/* 如果产品是多分支产品,设置分支语言项。 */
$product = $this->loadModel('product')->getById($productID);
if($product && $product->type != 'normal') $this->lang->testcase->branch = $this->lang->product->branchName[$product->type];
@@ -1262,8 +1266,10 @@ class testcaseModel extends model
$fields = explode(',', $caseConfig->exportFields);
foreach($fields as $key => $fieldName)
{
$fieldName = trim($fieldName);
$fields[$fieldName] = isset($caseLang->$fieldName) ? $caseLang->$fieldName : $fieldName;
/* 设置字段的语言项。 */
/* Set language item of the fieldName. */
$fieldName = trim($fieldName);
$fields[$fieldName] = isset($caseLang->{$fieldName}) ? $caseLang->{$fieldName} : $fieldName;
unset($fields[$key]);
}
+9 -13
View File
@@ -2,7 +2,8 @@
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/testcase.class.php';
su('admin');
zdTable('product')->gen('90');
/**
@@ -10,20 +11,15 @@ title=测试 testcaseModel->getImportFields();
cid=1
pid=1
测试获取product 1 可以导出的字段的名称 >> 用例编号,所属产品,分支/平台,所属模块,B,R,S
测试获取product 2 可以导出的字段的名称 >> 用例编号,所属产品,分支/平台,所属模块,B,R,S
测试获取product 3 可以导出的字段的名称 >> 用例编号,所属产品,分支/平台,所属模块,B,R,S
测试获取product 4 可以导出的字段的名称 >> 用例编号,所属产品,分支/平台,所属模块,B,R,S
测试获取product 5 可以导出的字段的名称 >> 用例编号,所属产品,分支/平台,所属模块,B,R,S
*/
$productIDList = array(1, 2, 3, 4, 5);
$productIDList = array(1, 2, 3, 41, 81);
$testcase = new testcaseTest();
r($testcase->getImportFieldsTest($productIDList[0])) && p('id,product,branch,module,bugsAB,resultsAB,stepNumberAB') && e('用例编号,所属产品,分支/平台,所属模块,B,R,S'); // 测试获取product 1 可以导出的字段的名称
r($testcase->getImportFieldsTest($productIDList[1])) && p('id,product,branch,module,bugsAB,resultsAB,stepNumberAB') && e('用例编号,所属产品,分支/平台,所属模块,B,R,S'); // 测试获取product 2 可以导出的字段的名称
r($testcase->getImportFieldsTest($productIDList[2])) && p('id,product,branch,module,bugsAB,resultsAB,stepNumberAB') && e('用例编号,所属产品,分支/平台,所属模块,B,R,S'); // 测试获取product 3 可以导出的字段的名称
r($testcase->getImportFieldsTest($productIDList[3])) && p('id,product,branch,module,bugsAB,resultsAB,stepNumberAB') && e('用例编号,所属产品,分支/平台,所属模块,B,R,S'); // 测试获取product 4 可以导出的字段的名称
r($testcase->getImportFieldsTest($productIDList[4])) && p('id,product,branch,module,bugsAB,resultsAB,stepNumberAB') && e('用例编号,所属产品,分支/平台,所属模块,B,R,S'); // 测试获取product 5 可以导出的字段的名称
r($testcase->getImportFieldsTest($productIDList[0])) && p('id,product,branch,module,bugsAB,resultsAB,stepNumberAB') && e('用例编号,所属产品,平台/分支,所属模块,B,R,S'); // 测试获取product 1 可以导出的字段的名称
r($testcase->getImportFieldsTest($productIDList[1])) && p('id,product,branch,module,bugsAB,resultsAB,stepNumberAB') && e('用例编号,所属产品,平台/分支,所属模块,B,R,S'); // 测试获取product 2 可以导出的字段的名称
r($testcase->getImportFieldsTest($productIDList[2])) && p('id,product,branch,module,bugsAB,resultsAB,stepNumberAB') && e('用例编号,所属产品,平台/分支,所属模块,B,R,S'); // 测试获取product 3 可以导出的字段的名称
r($testcase->getImportFieldsTest($productIDList[3])) && p('id,product,branch,module,bugsAB,resultsAB,stepNumberAB') && e('用例编号,所属产品,分支,所属模块,B,R,S'); // 测试获取product 41 可以导出的字段的名称
r($testcase->getImportFieldsTest($productIDList[4])) && p('id,product,branch,module,bugsAB,resultsAB,stepNumberAB') && e('用例编号,所属产品,平台,所属模块,B,R,S'); // 测试获取product 81 可以导出的字段的名称
r($testcase->getImportFieldsTest()) && p('id,product,branch,module,bugsAB,resultsAB,stepNumberAB') && e('用例编号,所属产品,平台,所属模块,B,R,S'); // 测试获取product 0 可以导出的字段的名称
+4 -3
View File
@@ -653,19 +653,20 @@ class testcaseTest
}
/**
* 测试获取导入的字段。
* Test get fields for import.
*
* @param int $productID
* @access public
* @return array
*/
public function getImportFieldsTest($productID = 0)
public function getImportFieldsTest(int $productID = 0): array
{
$object = $this->objectModel->getImportFields($productID);
$fields = $this->objectModel->getImportFields($productID);
if(dao::isError()) return dao::getError();
return $object;
return $fields;
}
/**