From d491137184dde3c6b74cc389e16b841108d0d204 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Fri, 5 Sep 2025 09:40:46 +0800 Subject: [PATCH 1/2] * [bug#65216,done,0.1h] fix private product can't show error. --- module/execution/zen.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/module/execution/zen.php b/module/execution/zen.php index d2438fdc3c..8a8ad21d2b 100644 --- a/module/execution/zen.php +++ b/module/execution/zen.php @@ -510,8 +510,10 @@ class executionZen extends execution } /* Get linked branches. */ - $products = $this->loadModel('product')->getProducts($executionID); - $linkedBranches = array(); + $branches = $this->project->getBranchesByProject($executionID); + $linkedProductIdList = empty($branches) ? '' : array_keys($branches); + $products = $this->loadModel('product')->getProducts($executionID, 'all', '', true, $linkedProductIdList, false); + $linkedBranches = array(); foreach($products as $product) { if(isset($product->branches)) From 9a3a87a0895c97efde7ebc4c57dae47f6e653b40 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Fri, 5 Sep 2025 09:54:00 +0800 Subject: [PATCH 2/2] * [unittest] add unittest for assignViewVars method. --- .../test/lib/executionzen.unittest.class.php | 13 +++++++ module/execution/test/zen/assignviewvars.php | 34 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 module/execution/test/zen/assignviewvars.php diff --git a/module/execution/test/lib/executionzen.unittest.class.php b/module/execution/test/lib/executionzen.unittest.class.php index f6205dd36a..2738671de0 100644 --- a/module/execution/test/lib/executionzen.unittest.class.php +++ b/module/execution/test/lib/executionzen.unittest.class.php @@ -46,4 +46,17 @@ class executionZenTest if(dao::isError()) return dao::getError(); return $result; } + + /** + * 给详情页面分配变量。 + * Given variables to view page. + * + * @param int $executionID + * @access public + * @return object + */ + public function assignViewVarsTest(int $executionID): object + { + return callZenMethod('execution', 'assignViewVars', [$executionID], 'view'); + } } diff --git a/module/execution/test/zen/assignviewvars.php b/module/execution/test/zen/assignviewvars.php new file mode 100644 index 0000000000..563174fdbd --- /dev/null +++ b/module/execution/test/zen/assignviewvars.php @@ -0,0 +1,34 @@ +#!/usr/bin/env php +loadYaml('execution')->gen(10); +zenData('projectproduct')->loadYaml('projectproduct')->gen(10); +zenData('product')->gen(10); +zenData('branch')->gen(0); +zenData('doc')->gen(0); +zenData('user')->gen(5); +su('admin'); + +$executionTester = new executionZenTest(); +$result = $executionTester->assignViewVarsTest(101); +r($result->products) && p('5:name,type,status') && e('正常产品5,normal,normal'); // 获取产品数据 +r($result->users) && p('admin,user1,user2,user3') && e('admin,用户1,用户2,用户3'); // 获取用户数据