diff --git a/module/programplan/test/lib/programplan.unittest.class.php b/module/programplan/test/lib/programplan.unittest.class.php index c8a71e9f0a..dcc30d3763 100644 --- a/module/programplan/test/lib/programplan.unittest.class.php +++ b/module/programplan/test/lib/programplan.unittest.class.php @@ -722,7 +722,15 @@ class programplanTest if(dao::isError()) return dao::getError(); - return $result; + // 将数组的键转换为逗号分隔的字符串,便于测试断言 + $formattedResult = array(); + $formattedResult[0] = ',' . implode(',', array_keys($result[0])); // visibleFields + $formattedResult[1] = ',' . implode(',', array_keys($result[1])); // requiredFields + $formattedResult[2] = $result[2]; // customFields保持不变 + $formattedResult[3] = $result[3]; // showFields保持不变 + $formattedResult[4] = $result[4]; // defaultFields保持不变 + + return $formattedResult; } catch(Throwable $e) { diff --git a/module/programplan/test/zen/computefieldscreateview.exp b/module/programplan/test/zen/computefieldscreateview.exp new file mode 100644 index 0000000000..6c48a5b3c9 --- /dev/null +++ b/module/programplan/test/zen/computefieldscreateview.exp @@ -0,0 +1,5 @@ +,enabled,point,type,name,begin,end +,type,name,begin,end +,type,name,begin,end +,name,begin,end +,PM,milestone,acl,desc,attribute diff --git a/module/programplan/test/zen/computefieldscreateview.php b/module/programplan/test/zen/computefieldscreateview.php new file mode 100755 index 0000000000..0c25d6b6ce --- /dev/null +++ b/module/programplan/test/zen/computefieldscreateview.php @@ -0,0 +1,72 @@ +#!/usr/bin/env php +project = new stdclass(); +$viewData1->project->model = 'ipd'; +$viewData1->executionType = 'stage'; +$viewData1->planID = 0; + +// 准备测试数据 - ipd项目模型,stage执行类型,带planID +$viewData2 = new stdclass(); +$viewData2->project = new stdclass(); +$viewData2->project->model = 'ipd'; +$viewData2->executionType = 'stage'; +$viewData2->planID = 1; + +// 准备测试数据 - waterfallplus项目模型,stage执行类型 +$viewData3 = new stdclass(); +$viewData3->project = new stdclass(); +$viewData3->project->model = 'waterfallplus'; +$viewData3->executionType = 'stage'; +$viewData3->planID = 0; + +// 准备测试数据 - waterfall项目模型,stage执行类型 +$viewData4 = new stdclass(); +$viewData4->project = new stdclass(); +$viewData4->project->model = 'waterfall'; +$viewData4->executionType = 'stage'; +$viewData4->planID = 0; + +// 准备测试数据 - sprint执行类型(customAgilePlus) +$viewData5 = new stdclass(); +$viewData5->project = new stdclass(); +$viewData5->project->model = 'waterfall'; +$viewData5->executionType = 'sprint'; +$viewData5->planID = 0; + +r($programplanTest->computeFieldsCreateViewTest($viewData1)) && p('1') && e(',enabled,point,type,name,begin,end'); // 步骤1:测试ipd项目模型stage执行类型无planID,检查requiredFields包含enabled,point,type,name,begin,end +r($programplanTest->computeFieldsCreateViewTest($viewData2)) && p('1') && e(',type,name,begin,end'); // 步骤2:测试ipd项目模型stage执行类型带planID,检查requiredFields包含type但不包含enabled +r($programplanTest->computeFieldsCreateViewTest($viewData3)) && p('1') && e(',type,name,begin,end'); // 步骤3:测试waterfallplus项目模型stage执行类型,检查requiredFields包含type +r($programplanTest->computeFieldsCreateViewTest($viewData4)) && p('1') && e(',name,begin,end'); // 步骤4:测试waterfall项目模型stage执行类型,检查requiredFields包含name,begin,end +r($programplanTest->computeFieldsCreateViewTest($viewData5)) && p('0') && e(',PM,milestone,acl,desc,attribute'); // 步骤5:测试sprint执行类型,检查visibleFields包含PM,milestone,acl,desc,attribute \ No newline at end of file