* [misc] Enhance unit tests for gitlabModel::apiUpdateGroupMember() method

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-09-25 09:16:00 +08:00
co-authored by Claude
parent 05db40a333
commit 73f0d54338
2 changed files with 59 additions and 8 deletions
@@ -1383,4 +1383,21 @@ class gitlabTest
return $result;
}
/**
* Test apiUpdateGroupMember method.
*
* @param int $gitlabID
* @param int $groupID
* @param object $member
* @access public
* @return object|array|null|false
*/
public function apiUpdateGroupMemberTest(int $gitlabID, int $groupID, object $member): object|array|null|false
{
$result = $this->gitlab->apiUpdateGroupMember($gitlabID, $groupID, $member);
if(dao::isError()) return dao::getError();
return $result;
}
}
@@ -8,37 +8,71 @@ title=测试 gitlabModel::apiUpdateGroupMember();
timeout=0
cid=1
- 使用空的user_id更新gitlab群组 @return false
- 使用空的access_level更新gitlab群组 @return false
- 使用错误gitlabID更新群组 @0
- 通过gitlabID,groupID,分支对象正确更新GitLab群组成员属性access_level @30
- 执行$result @return false
- 执行$result @return false
- 执行gitlab模块的apiUpdateGroupMember方法,参数是0, $groupID, $groupMember @0
- 执行$result @return false
- 执行gitlab模块的apiUpdateGroupMember方法,参数是$gitlabID, $groupID, $groupMember @0
- 执行gitlab模块的apiUpdateGroupMember方法,参数是$gitlabID, $groupID, $groupMember 属性access_level @30
*/
zenData('pipeline')->gen(5);
global $app;
$app->rawModule = 'gitlab';
$app->rawMethod = 'browse';
$gitlab = $tester->loadModel('gitlab');
$gitlabID = 1;
$groupID = 14;
/* 测试步骤1:使用空的user_id参数更新gitlab群组成员 */
$groupMember = new stdclass();
$groupMember->user_id = '';
$groupMember->access_level = '40';
$result = $gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember);
if($result === false) $result = 'return false';
r($result) && p() && e('return false'); //使用空的user_id更新gitlab群组
r($result) && p() && e('return false');
/* 测试步骤2:使用空的access_level参数更新gitlab群组成员 */
$groupMember = new stdclass();
$groupMember->user_id = '4';
$groupMember->access_level = '';
$result = $gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember);
if($result === false) $result = 'return false';
r($result) && p() && e('return false'); //使用空的access_level更新gitlab群组
r($result) && p() && e('return false');
r($gitlab->apiUpdateGroupMember(0, $groupID, $groupMember)) && p() && e('0'); //使用错误gitlabID更新群组
/* 测试步骤3:使用无效的gitlabID参数更新群组成员 */
$groupMember = new stdclass();
$groupMember->user_id = '4';
$groupMember->access_level = '30';
r($gitlab->apiUpdateGroupMember(0, $groupID, $groupMember)) && p() && e('0');
/* 测试步骤4:使用字符串类型的user_id参数更新群组成员 */
$groupMember = new stdclass();
$groupMember->user_id = 'invalid_user';
$groupMember->access_level = '30';
$result = $gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember);
if($result === false) $result = 'return false';
r($result) && p() && e('return false');
/* 测试步骤5:使用无效的access_level值更新群组成员 */
$groupMember = new stdclass();
$groupMember->user_id = '4';
$groupMember->access_level = '999';
r($gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember)) && p() && e('0');
/* 测试步骤6:使用正确参数更新GitLab群组成员权限级别 */
/* 首先确保成员存在,然后更新权限级别 */
$groupMember = new stdclass();
$groupMember->user_id = '4';
$groupMember->access_level = '40';
$gitlab->apiCreateGroupMember($gitlabID, $groupID, $groupMember);
$groupMember->access_level = '30';
r($gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember)) && p('access_level') && e('30'); //通过gitlabID,groupID,分支对象正确更新GitLab群组成员
r($gitlab->apiUpdateGroupMember($gitlabID, $groupID, $groupMember)) && p('access_level') && e('30');