From c8a80c5f1c88420b22159db490ff359c03441071 Mon Sep 17 00:00:00 2001 From: liugang Date: Fri, 12 Sep 2025 09:15:47 +0800 Subject: [PATCH] + [misc] Add unit tests for projectTao::unlinkTeamMember() 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 --- .../test/lib/project.unittest.class.php | 35 ++++++++++++++++++ module/project/test/tao/unlinkteammember.php | 36 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100755 module/project/test/tao/unlinkteammember.php diff --git a/module/project/test/lib/project.unittest.class.php b/module/project/test/lib/project.unittest.class.php index 80f689fe83..651910a7bc 100644 --- a/module/project/test/lib/project.unittest.class.php +++ b/module/project/test/lib/project.unittest.class.php @@ -492,4 +492,39 @@ class projectTest return $result; } + + /** + * Test unlinkTeamMember method. + * + * @param mixed $projectIdList + * @param string $type + * @param string $account + * @param string $realname + * @param array $changes + * @access public + * @return mixed + */ + public function unlinkTeamMemberTest($projectIdList = 0, $type = '', $account = '', $realname = '', $changes = array()) + { + try + { + $reflection = new ReflectionClass($this->objectTao); + $method = $reflection->getMethod('unlinkTeamMember'); + $method->setAccessible(true); + + $result = $method->invoke($this->objectTao, $projectIdList, $type, $account, $realname, $changes); + + if(dao::isError()) return dao::getError(); + + return $result; + } + catch(Exception $e) + { + if(strpos($e->getMessage(), 'Table') !== false && strpos($e->getMessage(), 'doesn\'t exist') !== false) + { + return 'TABLE_NOT_EXISTS'; + } + return $e->getMessage(); + } + } } \ No newline at end of file diff --git a/module/project/test/tao/unlinkteammember.php b/module/project/test/tao/unlinkteammember.php new file mode 100755 index 0000000000..87a015a559 --- /dev/null +++ b/module/project/test/tao/unlinkteammember.php @@ -0,0 +1,36 @@ +#!/usr/bin/env php +unlinkTeamMemberTest(1, 'project', 'user1', '用户1', array())) && p() && e(1); // 步骤1:删除单个项目的团队成员 +r($projectTest->unlinkTeamMemberTest(array(2, 3), 'project', 'user2', '用户2', array())) && p() && e(1); // 步骤2:删除多个项目的团队成员 +r($projectTest->unlinkTeamMemberTest(4, 'project', 'notexist', '不存在用户', array())) && p() && e(1); // 步骤3:删除不存在的团队成员 +r($projectTest->unlinkTeamMemberTest(5, 'execution', 'user3', '用户3', array())) && p() && e(1); // 步骤4:删除execution类型的团队成员 +r($projectTest->unlinkTeamMemberTest(array(), 'project', 'user4', '用户4', array())) && p() && e(1); // 步骤5:传入空的项目ID列表 \ No newline at end of file