From 2ed2c8e70fe04df04fca79aa0092d85ab3761417 Mon Sep 17 00:00:00 2001 From: liugang Date: Fri, 7 Nov 2025 22:45:50 +0800 Subject: [PATCH] + [misc] Add unit tests for bugZen::getModulesForCreate() 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 --- module/bug/test/lib/zen.class.php | 14 ++++ module/bug/test/zen/getmodulesforcreate.php | 76 +++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100755 module/bug/test/zen/getmodulesforcreate.php diff --git a/module/bug/test/lib/zen.class.php b/module/bug/test/lib/zen.class.php index 2bbd2b31c6..1d2f4a47b6 100644 --- a/module/bug/test/lib/zen.class.php +++ b/module/bug/test/lib/zen.class.php @@ -603,4 +603,18 @@ class bugZenTest extends baseTest if(dao::isError()) return ''; return $result; } + + /** + * Test getModulesForCreate method. + * + * @param object $bug + * @access public + * @return object + */ + public function getModulesForCreateTest(object $bug): object + { + $result = $this->invokeArgs('getModulesForCreate', [$bug]); + if(dao::isError()) return (object)array(); + return $result; + } } diff --git a/module/bug/test/zen/getmodulesforcreate.php b/module/bug/test/zen/getmodulesforcreate.php new file mode 100755 index 0000000000..7b0c21fe1f --- /dev/null +++ b/module/bug/test/zen/getmodulesforcreate.php @@ -0,0 +1,76 @@ +#!/usr/bin/env php +gen(10); + +$module = zenData('module'); +$module->id->range('1-20'); +$module->root->range('1-10'); +$module->branch->range('0{15},1{3},2{2}'); +$module->type->range('bug'); +$module->name->range('模块1,模块2,模块3,模块4,模块5'); +$module->parent->range('0'); +$module->path->range('`,1,`,`,2,`,`,3,`,`,4,`,`,5,`'); +$module->grade->range('1'); +$module->deleted->range('0'); +$module->gen(20); + +zenData('branch')->gen(10); +zenData('user')->gen(10); + +su('admin'); + +$bugTest = new bugZenTest(); + +$bug1 = new stdClass(); +$bug1->productID = 1; +$bug1->branch = '0'; +$bug1->moduleID = 1; +$bug1->branches = array(); + +$bug2 = new stdClass(); +$bug2->productID = 1; +$bug2->branch = '0'; +$bug2->moduleID = 999; +$bug2->branches = array(); + +$bug3 = new stdClass(); +$bug3->productID = 2; +$bug3->branch = '1'; +$bug3->moduleID = 2; +$bug3->branches = array('1' => 'Branch1'); + +$bug4 = new stdClass(); +$bug4->productID = 1; +$bug4->branch = 'all'; +$bug4->moduleID = 1; +$bug4->branches = array('all' => 'All'); + +$bug5 = new stdClass(); +$bug5->productID = 1; +$bug5->branch = '0'; +$bug5->moduleID = 0; +$bug5->branches = array(); + +r($bugTest->getModulesForCreateTest($bug1)) && p('moduleID') && e('1'); // 步骤1:正常产品,有效的模块ID +r($bugTest->getModulesForCreateTest($bug2)) && p('moduleID') && e('~~'); // 步骤2:正常产品,无效的模块ID +r($bugTest->getModulesForCreateTest($bug3)) && p('moduleID') && e('2'); // 步骤3:分支产品,指定有效分支 +r($bugTest->getModulesForCreateTest($bug4)) && p('moduleID') && e('1'); // 步骤4:分支为all的情况 +r($bugTest->getModulesForCreateTest($bug5)) && p('moduleID') && e('0'); // 步骤5:模块ID为0的情况 \ No newline at end of file