diff --git a/module/tree/test/lib/treezen.unittest.class.php b/module/tree/test/lib/treezen.unittest.class.php index ac00e4a0ab..30f72d88f5 100644 --- a/module/tree/test/lib/treezen.unittest.class.php +++ b/module/tree/test/lib/treezen.unittest.class.php @@ -25,4 +25,27 @@ class treeTest return $result; } + + /** + * Test getBranches method. + * + * @param object $product + * @param string $viewType + * @param int $currentModuleID + * @access public + * @return mixed + */ + public function getBranchesTest(object $product = null, string $viewType = '', int $currentModuleID = 0) + { + if($product === null) { + $product = (object)array('id' => 1, 'type' => 'normal', 'name' => 'Test Product'); + } + + $method = $this->objectZen->getMethod('getBranches'); + $method->setAccessible(true); + $result = $method->invokeArgs($this->objectZen->newInstance(), array($product, $viewType, $currentModuleID)); + if(dao::isError()) return dao::getError(); + + return $result; + } } \ No newline at end of file diff --git a/module/tree/test/zen/getbranches.php b/module/tree/test/zen/getbranches.php new file mode 100755 index 0000000000..ac33970e8d --- /dev/null +++ b/module/tree/test/zen/getbranches.php @@ -0,0 +1,43 @@ +#!/usr/bin/env php + 1, 'type' => 'normal', 'name' => 'Normal Product'); +r($treeTest->getBranchesTest($normalProduct, 'story', 0)) && p() && e('0'); + +// 测试用例2:多分支产品在story视图类型下获取分支 +$branchProduct = (object)array('id' => 2, 'type' => 'branch', 'name' => 'Branch Product'); +r($treeTest->getBranchesTest($branchProduct, 'story', 0)) && p() && e('0'); + +// 测试用例3:多分支产品在bug视图类型下获取分支 +$platformProduct = (object)array('id' => 3, 'type' => 'platform', 'name' => 'Platform Product'); +r($treeTest->getBranchesTest($platformProduct, 'bug', 0)) && p() && e('0'); + +// 测试用例4:非story/bug/case视图类型的产品获取分支 +$branchProduct = (object)array('id' => 4, 'type' => 'branch', 'name' => 'Branch Product'); +r($treeTest->getBranchesTest($branchProduct, 'task', 0)) && p() && e('0'); + +// 测试用例5:case视图类型的多分支产品获取分支 +$platformProduct = (object)array('id' => 5, 'type' => 'platform', 'name' => 'Platform Product'); +r($treeTest->getBranchesTest($platformProduct, 'case', 0)) && p() && e('0'); \ No newline at end of file diff --git a/module/tree/test/zen/yaml/branch_getbranches.yaml b/module/tree/test/zen/yaml/branch_getbranches.yaml new file mode 100644 index 0000000000..ab9d7f6d25 --- /dev/null +++ b/module/tree/test/zen/yaml/branch_getbranches.yaml @@ -0,0 +1,24 @@ +--- +title: branch table for getBranches test +author: Claude +version: "1.0" +fields: + - field: id + note: "分支ID" + range: 1-10 + - field: product + note: "所属产品" + range: 1{2},2{3},3{2},4{2},5{1} + - field: name + note: "分支名称" + range: master{2},develop{3},release{2},feature{2},hotfix{1} + - field: status + note: "分支状态" + range: active{8},closed{2} + - field: order + note: "排序" + range: 1-10 + - field: deleted + note: "是否删除" + range: 0{9},1{1} +... \ No newline at end of file diff --git a/module/tree/test/zen/yaml/module_getbranches.yaml b/module/tree/test/zen/yaml/module_getbranches.yaml new file mode 100644 index 0000000000..8b6bd5e7d5 --- /dev/null +++ b/module/tree/test/zen/yaml/module_getbranches.yaml @@ -0,0 +1,24 @@ +--- +title: module table for getBranches test +author: Claude +version: "1.0" +fields: + - field: id + note: "模块ID" + range: 1-8 + - field: root + note: "产品根ID" + range: 1{2},2{2},3{2},4{1},5{1} + - field: branch + note: "分支ID" + range: 1{2},2{2},3{2},0{2} + - field: name + note: "模块名称" + range: 需求模块{2},缺陷模块{2},测试模块{2},任务模块{2} + - field: type + note: "模块类型" + range: story{2},bug{2},case{2},task{2} + - field: deleted + note: "是否删除" + range: 0 +... \ No newline at end of file diff --git a/module/tree/test/zen/yaml/product_getbranches.yaml b/module/tree/test/zen/yaml/product_getbranches.yaml new file mode 100644 index 0000000000..546d1faba7 --- /dev/null +++ b/module/tree/test/zen/yaml/product_getbranches.yaml @@ -0,0 +1,24 @@ +--- +title: product table for getBranches test +author: Claude +version: "1.0" +fields: + - field: id + note: "产品ID" + range: 1-5 + - field: name + note: "产品名称" + range: 正常产品{1},分支产品{1},平台产品{1},任务产品{1},测试产品{1} + - field: code + note: "产品代号" + range: normal{1},branch{1},platform{1},task{1},test{1} + - field: type + note: "产品类型" + range: normal{1},branch{1},platform{1},normal{1},branch{1} + - field: status + note: "产品状态" + range: normal{4},closed{1} + - field: deleted + note: "是否删除" + range: 0 +... \ No newline at end of file