diff --git a/module/kanban/test/lib/kanban.unittest.class.php b/module/kanban/test/lib/kanban.unittest.class.php index b9ab7e4064..783980c56c 100755 --- a/module/kanban/test/lib/kanban.unittest.class.php +++ b/module/kanban/test/lib/kanban.unittest.class.php @@ -1445,6 +1445,20 @@ class kanbanTest return $kanban; } + /** + * Test get group list objects by region id. + * + * @param int $region + * @access public + * @return array + */ + public function getGroupListObjectsTest($region) + { + $objects = $this->objectModel->getGroupList($region); + if(dao::isError()) return dao::getError(); + return $objects; + } + /** * Test get column by id. * @@ -2552,7 +2566,7 @@ class kanbanTest public function moveCardByModalTest($cardID) { global $tester; - + // 获取卡片信息 $card = $this->objectModel->getCardByID($cardID); if(!$card) return array('error' => 'Card not found'); @@ -2560,7 +2574,7 @@ class kanbanTest // 获取看板区域信息用于移动 $regions = $this->objectModel->getRegionPairs($card->kanban); if(empty($regions)) return array('error' => 'No regions found'); - + // 返回区域和卡片信息 return array( 'regions' => count($regions), @@ -2569,4 +2583,58 @@ class kanbanTest 'kanban' => $card->kanban ); } + + /** + * Test addSpaceMembers method. + * + * @param int $spaceID + * @param string $type + * @param array $kanbanMembers + * @access public + * @return mixed + */ + public function addSpaceMembersTest($spaceID, $type, $kanbanMembers = array()) + { + global $tester; + + // 获取操作前的空间信息 + $spaceBefore = $this->objectModel->getSpaceById($spaceID); + + // 执行添加成员操作 + $this->objectModel->addSpaceMembers($spaceID, $type, $kanbanMembers); + + if(dao::isError()) return dao::getError(); + + // 获取操作后的空间信息 + $spaceAfter = $this->objectModel->getSpaceById($spaceID); + + // 返回结果以便验证 + return array( + 'spaceBefore' => $spaceBefore, + 'spaceAfter' => $spaceAfter, + 'fieldValue' => $spaceAfter ? $spaceAfter->{$type} : null + ); + } + + /** + * Test checkChildColumn method. + * + * @param object $column + * @param object $childColumn + * @param int $sumChildLimit + * @access public + * @return bool + */ + public function checkChildColumnTest($column, $childColumn, $sumChildLimit) + { + // 清理之前的错误状态 + dao::$errors = array(); + + $result = $this->objectModel->checkChildColumn($column, $childColumn, $sumChildLimit); + + // 如果有错误,返回false,否则返回原始结果 + if(dao::isError()) return false; + + return $result; + } } diff --git a/module/kanban/test/model/getgrouplist.php b/module/kanban/test/model/getgrouplist.php index 2e6e8b3488..1b64849524 100755 --- a/module/kanban/test/model/getgrouplist.php +++ b/module/kanban/test/model/getgrouplist.php @@ -1,29 +1,55 @@ #!/usr/bin/env php gen(10); /** -title=测试 kanbanModel->getGroupList(); +title=测试 kanbanModel::getGroupList(); timeout=0 -cid=1 +cid=0 -- 获取区域1的看板 @,1 +- 执行kanban模块的getGroupListTest方法,参数是1 @,1,2,3,1,2 -- 获取区域1的看板 @,2 +- 执行kanban模块的getGroupListTest方法,参数是2 @,3,1,2 -- 获取不存在的看板 @0 +- 执行kanban模块的getGroupListTest方法,参数是3 @,3,1 + +- 执行kanban模块的getGroupListTest方法,参数是100 @0 +- 执行kanban模块的getGroupListObjectsTest方法,参数是1 + - 第1条的id属性 @1 + - 第1条的kanban属性 @1 + - 第1条的region属性 @1 + - 第1条的order属性 @1 */ -$regionIDList = array('1', '2', '10001'); +include dirname(__FILE__, 5) . '/test/lib/init.php'; +include dirname(__FILE__, 2) . '/lib/kanban.unittest.class.php'; +// 准备测试数据 +$table = zenData('kanbangroup'); +$table->id->range('1-15'); +$table->kanban->range('1-3'); +$table->region->range('1{5},2{3},3{2},4{1},5{4}'); +$table->order->range('1-5,1-3,1-2,1,1-4'); +$table->gen(15); + +// 用户登录 +su('admin'); + +// 创建测试实例 $kanban = new kanbanTest(); -r($kanban->getGroupListTest($regionIDList[0])) && p() && e(',1'); // 获取区域1的看板 -r($kanban->getGroupListTest($regionIDList[1])) && p() && e(',2'); // 获取区域1的看板 -r($kanban->getGroupListTest($regionIDList[2])) && p() && e('0'); // 获取不存在的看板 \ No newline at end of file +// 测试步骤1:正常获取区域1的分组列表(根据实际数据分布) +r($kanban->getGroupListTest(1)) && p() && e(',1,2,3,1,2'); + +// 测试步骤2:正常获取区域2的分组列表(根据实际数据分布) +r($kanban->getGroupListTest(2)) && p() && e(',3,1,2'); + +// 测试步骤3:获取区域3的分组列表(根据实际数据分布) +r($kanban->getGroupListTest(3)) && p() && e(',3,1'); + +// 测试步骤4:获取不存在区域的分组列表(实际输出为0) +r($kanban->getGroupListTest(100)) && p() && e('0'); + +// 测试步骤5:验证返回数据结构完整性(检查第一个分组的字段) +r($kanban->getGroupListObjectsTest(1)) && p('1:id,kanban,region,order') && e('1,1,1,1'); \ No newline at end of file