diff --git a/module/projectrelease/test/lib/projectrelease.unittest.class.php b/module/projectrelease/test/lib/projectrelease.unittest.class.php index 4815097f9c..c368f30c52 100644 --- a/module/projectrelease/test/lib/projectrelease.unittest.class.php +++ b/module/projectrelease/test/lib/projectrelease.unittest.class.php @@ -6,6 +6,7 @@ class projectreleaseTest { global $tester; $this->objectModel = $tester->loadModel('projectrelease'); + $this->objectTao = $tester->loadTao('projectrelease'); } /** @@ -99,4 +100,26 @@ class projectreleaseTest return $isClickable ? 1 : 2; } + + /** + * 测试获取分支名称。 + * Test get branch name. + * + * @param int $productID + * @param string $branch + * @param array $branchGroup + * @access public + * @return string|array + */ + public function getBranchNameTest(int $productID, string $branch, array $branchGroup): string|array + { + $reflectionClass = new ReflectionClass($this->objectTao); + $method = $reflectionClass->getMethod('getBranchName'); + $method->setAccessible(true); + $result = $method->invoke($this->objectTao, $productID, $branch, $branchGroup); + + if(dao::isError()) return dao::getError(); + + return $result; + } } diff --git a/module/projectrelease/test/tao/getbranchname.php b/module/projectrelease/test/tao/getbranchname.php new file mode 100755 index 0000000000..73123aae0c --- /dev/null +++ b/module/projectrelease/test/tao/getbranchname.php @@ -0,0 +1,44 @@ +#!/usr/bin/env php +loadYaml('branch', false, 2)->gen(5); + +su('admin'); + +$projectreleaseTest = new projectreleaseTest(); + +$branchGroup = array( + 1 => array( + 1 => 'branch1', + 2 => 'branch2', + 3 => 'branch3' + ), + 2 => array( + 4 => 'branch4', + 5 => 'branch5' + ) +); + +r($projectreleaseTest->getBranchNameTest(1, '1', $branchGroup)) && p() && e('branch1'); +r($projectreleaseTest->getBranchNameTest(1, '1,2,3', $branchGroup)) && p() && e('branch1,branch2,branch3'); +r($projectreleaseTest->getBranchNameTest(1, '', $branchGroup)) && p() && e('0'); +r($projectreleaseTest->getBranchNameTest(999, '1', $branchGroup)) && p() && e('0'); +r($projectreleaseTest->getBranchNameTest(1, '999', $branchGroup)) && p() && e('0'); \ No newline at end of file diff --git a/module/projectrelease/test/tao/yaml/branch_getbranchname.yaml b/module/projectrelease/test/tao/yaml/branch_getbranchname.yaml new file mode 100644 index 0000000000..682b2b09e4 --- /dev/null +++ b/module/projectrelease/test/tao/yaml/branch_getbranchname.yaml @@ -0,0 +1,35 @@ +--- +title: 分支测试数据 +desc: 用于测试getBranchName方法的分支数据 + +fields: +- field: id + note: 分支ID + range: 1-5 +- field: product + note: 所属产品ID + range: 1{3},2{2} +- field: name + note: 分支名称 + range: branch1,branch2,branch3,branch4,branch5 +- field: default + note: 是否默认分支 + range: '0{4},1{1}' +- field: status + note: 分支状态 + range: active{4},closed{1} +- field: desc + note: 分支描述 + range: 测试分支{5} +- field: createdDate + note: 创建日期 + range: 2023-01-01,2023-01-02,2023-01-03,2023-01-04,2023-01-05 +- field: closedDate + note: 关闭日期 + range: '0000-00-00{4},2023-12-31{1}' +- field: order + note: 排序 + range: 1-5 +- field: deleted + note: 是否删除 + range: '0' \ No newline at end of file