From 5394ea57cd5c9be6b07398bff513170e39e012d5 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Tue, 6 Jun 2023 13:55:07 +0800 Subject: [PATCH] + Add test case for buildActionList method. --- module/project/test/model/buildactionlist.php | 25 +++++++++++++++++++ .../model/yaml/buildactionlist/project.yaml | 24 ++++++++++++++++++ module/project/test/project.class.php | 18 +++++++++++++ 3 files changed, 67 insertions(+) create mode 100755 module/project/test/model/buildactionlist.php create mode 100644 module/project/test/model/yaml/buildactionlist/project.yaml diff --git a/module/project/test/model/buildactionlist.php b/module/project/test/model/buildactionlist.php new file mode 100755 index 0000000000..f20588efd1 --- /dev/null +++ b/module/project/test/model/buildactionlist.php @@ -0,0 +1,25 @@ +#!/usr/bin/env php +config('project')->gen(7); + +/** + +title=测试 projectModel->buildActionList(); +timeout=0 +cid=1 + +*/ + +$projectIdList = range(2, 7); + +$projectTester = new Project(); +r($projectTester->buildActionListObject($projectIdList[0])) && p() && e('start'); // 设置敏捷项目的操作按钮 +r($projectTester->buildActionListObject($projectIdList[1])) && p() && e('close'); // 设置瀑布项目的操作按钮 +r($projectTester->buildActionListObject($projectIdList[2])) && p() && e('start'); // 设置看板项目的操作按钮 +r($projectTester->buildActionListObject($projectIdList[3])) && p() && e('active'); // 设置融合敏捷项目的操作按钮 +r($projectTester->buildActionListObject($projectIdList[4])) && p() && e('close'); // 设置融合瀑布项目的操作按钮 +r($projectTester->buildActionListObject($projectIdList[5], 'lite')) && p() && e('start'); // 设置迅捷页面的看板项目的操作按钮 diff --git a/module/project/test/model/yaml/buildactionlist/project.yaml b/module/project/test/model/yaml/buildactionlist/project.yaml new file mode 100644 index 0000000000..015d3f612d --- /dev/null +++ b/module/project/test/model/yaml/buildactionlist/project.yaml @@ -0,0 +1,24 @@ +title: zt_project +author: Shujie Tian +version: "1.0" +fields: + - field: id + range: 1-7 + - field: project + range: 0 + - field: model + range: '[],scrum,waterfall,kanban,agileplus,waterfallplus,kanban' + - field: type + range: 'program,project{6}' + - field: status + range: 'doing,wait,doing,suspended,closed' + - field: parent + range: '0,1{5}' + - field: path + range: '`,1,`, `,1,2,`, `,1,3,`, `,1,4,`, `,1,5,`, `,1,6,`, `,7,`' + - field: hasProduct + range: '1{5},0' + - field: name + range: '项目集,敏捷项目,瀑布项目,看板项目,融合敏捷项目,融合瀑布项目,迅捷项目' + - field: vision + range: 'rnd{6},lite' diff --git a/module/project/test/project.class.php b/module/project/test/project.class.php index 949e08e200..1f94cb0bd2 100644 --- a/module/project/test/project.class.php +++ b/module/project/test/project.class.php @@ -267,4 +267,22 @@ class Project return true; } + + /** + * 根据项目状态和权限生成列表中操作列按钮。 + * Build table action menu for project browse page. + * + * @param int $projectID + * @param string $vision + * @access public + * @return string + */ + public function buildActionListObject(int $projectID, string $vision = 'rnd') + { + $this->project->config->vision = $vision; + + $project = $this->project->getByID($projectID); + $actions = $this->project->buildActionList($project); + return current($actions); + } }