From 29a4ec3c817b05668d685bbc7f9cc46edeffb132 Mon Sep 17 00:00:00 2001 From: liugang Date: Sat, 20 Sep 2025 14:25:40 +0800 Subject: [PATCH] * [misc] Enhance unit tests for gitlabModel::saveImportedIssue() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../gitlab/test/model/saveimportedissue.php | 51 +++++++++++++++---- 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/module/gitlab/test/model/saveimportedissue.php b/module/gitlab/test/model/saveimportedissue.php index 7ddf084185..0663b41dda 100755 --- a/module/gitlab/test/model/saveimportedissue.php +++ b/module/gitlab/test/model/saveimportedissue.php @@ -1,35 +1,66 @@ #!/usr/bin/env php saveImportedIssue(); +title=测试 gitlabModel::saveImportedIssue(); timeout=0 -cid=1 +cid=0 -- 保存导入任务issue。第labels条的0属性 @zentao_task/18 -- 保存导入bug issue。第labels条的0属性 @zentao_bug/9 +- 测试步骤1:正常保存task类型的issue第labels条的0属性 @zentao_task/18 +- 测试步骤2:正常保存bug类型的issue第labels条的0属性 @zentao_bug/9 +- 测试步骤3:正常保存story类型的issue第labels条的0属性 @zentao_story/5 +- 测试步骤4:测试标签已存在的情况第labels条的0属性 @zentao_task/18 +- 测试步骤5:测试无效的GitLab项目ID的处理 @~~ +- 测试步骤6:测试空对象ID的边界情况 @~~ */ +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/lib/gitlab.unittest.class.php'; + zenData('task')->gen(20); zenData('bug')->gen(10); +zenData('story')->gen(10); zenData('pipeline')->gen(5); zenData('relation')->loadYaml('relation')->gen(4); -$gitlab = new gitlabTest(); +su('admin'); + +$gitlab = new gitlabTest(); $gitlabID = 1; $projectID = 2; $issueID = 4; $objectType = 'task'; $objectID = 18; -r($gitlab->saveImportedIssueTest($gitlabID, $projectID, $objectType, $objectID, $issueID)) && p('labels:0') && e('zentao_task/18'); // 保存导入任务issue。 +r($gitlab->saveImportedIssueTest($gitlabID, $projectID, $objectType, $objectID, $issueID)) && p('labels:0') && e('zentao_task/18'); // 测试步骤1:正常保存task类型的issue $issueID = 3; $objectType = 'bug'; $objectID = 9; -r($gitlab->saveImportedIssueTest($gitlabID, $projectID, $objectType, $objectID, $issueID)) && p('labels:0') && e('zentao_bug/9'); // 保存导入bug issue。 \ No newline at end of file +r($gitlab->saveImportedIssueTest($gitlabID, $projectID, $objectType, $objectID, $issueID)) && p('labels:0') && e('zentao_bug/9'); // 测试步骤2:正常保存bug类型的issue + +$issueID = 2; +$objectType = 'story'; +$objectID = 5; +r($gitlab->saveImportedIssueTest($gitlabID, $projectID, $objectType, $objectID, $issueID)) && p('labels:0') && e('zentao_story/5'); // 测试步骤3:正常保存story类型的issue + +$issueID = 4; +$objectType = 'task'; +$objectID = 18; +r($gitlab->saveImportedIssueTest($gitlabID, $projectID, $objectType, $objectID, $issueID)) && p('labels:0') && e('zentao_task/18'); // 测试步骤4:测试标签已存在的情况 + +$gitlabID = 999; +$projectID = 999; +$issueID = 1; +$objectType = 'task'; +$objectID = 1; +r($gitlab->saveImportedIssueTest($gitlabID, $projectID, $objectType, $objectID, $issueID)) && p() && e('~~'); // 测试步骤5:测试无效的GitLab项目ID的处理 + +$gitlabID = 1; +$projectID = 2; +$issueID = 1; +$objectType = 'task'; +$objectID = 0; +r($gitlab->saveImportedIssueTest($gitlabID, $projectID, $objectType, $objectID, $issueID)) && p() && e('~~'); // 测试步骤6:测试空对象ID的边界情况 \ No newline at end of file