From 5dde36ff7744a03b7d9a89fdf8460ac2ecdf6c22 Mon Sep 17 00:00:00 2001 From: liugang Date: Fri, 12 Sep 2025 07:38:23 +0800 Subject: [PATCH] + [misc] Add unit tests for pivotTao::getTeamTasks() 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 --- .../pivot/test/lib/pivot.unittest.class.php | 20 ++++++++++ module/pivot/test/tao/getteamtasks.php | 39 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100755 module/pivot/test/tao/getteamtasks.php diff --git a/module/pivot/test/lib/pivot.unittest.class.php b/module/pivot/test/lib/pivot.unittest.class.php index 281a81732b..695fa6a3b9 100644 --- a/module/pivot/test/lib/pivot.unittest.class.php +++ b/module/pivot/test/lib/pivot.unittest.class.php @@ -1476,4 +1476,24 @@ class pivotTest return $result; } + + /** + * Test getTeamTasks method. + * + * @param array $taskIDList + * @access public + * @return array + */ + public function getTeamTasksTest(array $taskIDList): array + { + // 使用反射访问protected方法 + $reflection = new ReflectionClass($this->objectTao); + $method = $reflection->getMethod('getTeamTasks'); + $method->setAccessible(true); + + $result = $method->invokeArgs($this->objectTao, array($taskIDList)); + if(dao::isError()) return dao::getError(); + + return $result; + } } \ No newline at end of file diff --git a/module/pivot/test/tao/getteamtasks.php b/module/pivot/test/tao/getteamtasks.php new file mode 100755 index 0000000000..dafdc868ff --- /dev/null +++ b/module/pivot/test/tao/getteamtasks.php @@ -0,0 +1,39 @@ +#!/usr/bin/env php +loadYaml('task')->gen(10); +zenData('taskteam')->loadYaml('taskteam')->gen(15); + +// 3. 用户登录(选择合适角色) +su('admin'); + +// 4. 创建测试实例(变量名与模块名一致) +$pivotTest = new pivotTest(); + +// 5. 🔴 强制要求:必须包含至少5个测试步骤 +r($pivotTest->getTeamTasksTest(array(1, 2, 3))) && p('1') && e('0.00'); // 步骤1:正常情况 +r($pivotTest->getTeamTasksTest(array())) && p() && e('0'); // 步骤2:空数组 +r($pivotTest->getTeamTasksTest(array(999, 1000))) && p() && e('0'); // 步骤3:不存在任务ID +r($pivotTest->getTeamTasksTest(array(1))) && p('1') && e('0.00'); // 步骤4:单个任务ID +r($pivotTest->getTeamTasksTest(array(1, 2, 999))) && p('1,2') && e('0.00,1.00'); // 步骤5:混合存在和不存在的ID,只返回存在的任务数据 \ No newline at end of file