+ [misc] Add unit tests for bugZen::processRepoIssueActions() method

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-09-15 15:09:51 +08:00
co-authored by Claude
parent 41f4b0a1cb
commit e55de88436
2 changed files with 68 additions and 0 deletions
@@ -4423,4 +4423,34 @@ class bugTest
return $chartOption;
}
/**
* Test processRepoIssueActions method.
*
* @param int $repoID
* @access public
* @return mixed
*/
public function processRepoIssueActionsTest($repoID = null)
{
try {
// 使用反射调用受保护的方法
$zenClass = initReference('bug');
$method = $zenClass->getMethod('processRepoIssueActions');
$zenInstance = $zenClass->newInstance();
$result = $method->invokeArgs($zenInstance, array($repoID));
if(dao::isError()) return dao::getError();
// 返回相关配置以供断言
return array(
'repoID' => $zenInstance->view->repoID ?? null,
'mainActions' => $zenInstance->config->bug->actions->view['mainActions'] ?? null,
'suffixActions' => $zenInstance->config->bug->actions->view['suffixActions'] ?? null
);
} catch (Exception $e) {
return array('error' => $e->getMessage());
}
}
}
+38
View File
@@ -0,0 +1,38 @@
#!/usr/bin/env php
<?php
/**
title=测试 bugZen::processRepoIssueActions();
timeout=0
cid=0
- 步骤1:正常仓库ID属性repoID @1
- 步骤2:边界值0属性repoID @0
- 步骤3:负数ID属性repoID @-1
- 步骤4:验证主要操作
- 第mainActions条的0属性 @confirm
- 第mainActions条的1属性 @assignTo
- 第mainActions条的2属性 @resolve
- 第mainActions条的3属性 @close
- 第mainActions条的4属性 @activate
- 步骤5:验证后缀操作第suffixActions条的0属性 @delete
*/
// 1. 导入依赖
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/bug.unittest.class.php';
// 2. 用户登录
su('admin');
// 3. 创建测试实例
$bugTest = new bugTest();
// 4. 执行测试步骤
r($bugTest->processRepoIssueActionsTest(1)) && p('repoID') && e('1'); // 步骤1:正常仓库ID
r($bugTest->processRepoIssueActionsTest(0)) && p('repoID') && e('0'); // 步骤2:边界值0
r($bugTest->processRepoIssueActionsTest(-1)) && p('repoID') && e('-1'); // 步骤3:负数ID
r($bugTest->processRepoIssueActionsTest(100)) && p('mainActions:0,1,2,3,4') && e('confirm,assignTo,resolve,close,activate'); // 步骤4:验证主要操作
r($bugTest->processRepoIssueActionsTest(200)) && p('suffixActions:0') && e('delete'); // 步骤5:验证后缀操作