* [misc] Enhance unit tests for kanbanModel::getGroupList() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,55 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/kanban.unittest.class.php';
|
||||
su('admin');
|
||||
|
||||
zenData('kanbangroup')->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'); // 获取不存在的看板
|
||||
// 测试步骤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');
|
||||
Reference in New Issue
Block a user