* [misc] Enhance unit tests for deptModel::updateOrder() 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:15:52 +08:00
co-authored by Claude
parent 4bf6f0ec15
commit c07902153f
2 changed files with 47 additions and 17 deletions
+9 -5
View File
@@ -257,23 +257,27 @@ class deptTest
}
/**
* function updateOrder test by dept
* Test updateOrder method.
*
* @param array $orders
* @access public
* @return array
* @return mixed
*/
public function updateOrderTest($orders)
{
global $tester;
$objects = $this->objectModel->updateOrder($orders);
$result = $this->objectModel->updateOrder($orders);
if(dao::isError()) return dao::getError();
$objects = $tester->dao->select('*')->from(TABLE_DEPT)->where('id')->eq($orders[0])->fetchAll('id');
// 如果orders为空,直接返回结果
if(empty($orders)) return $result;
return $objects;
// 获取所有相关部门的信息
$deptList = $tester->dao->select('*')->from(TABLE_DEPT)->where('id')->in($orders)->fetchAll('id');
return $deptList;
}
/**
+38 -12
View File
@@ -1,22 +1,48 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/dept.unittest.class.php';
zenData('dept')->gen(20);
su('admin');
/**
title=测试 deptModel->updateOrder();
cid=1
pid=1
title=测试 deptModel::updateOrder();
timeout=0
cid=0
修改部门排序 >> 1
- 测试步骤1:正常多部门排序更新
- 第3条的order属性 @1
- 第3条的1:order属性 @2
- 第3条的5:order属性 @3
- 第3条的2:order属性 @4
- 第3条的4:order属性 @5
- 测试步骤2:单个部门排序更新第10条的order属性 @1
- 测试步骤3:空数组输入测试 @1
- 测试步骤4:不存在部门ID测试 @1
- 测试步骤5:大量部门排序测试
- 第6条的order属性 @1
- 第6条的16:order属性 @10
*/
$orders = array('17');
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/dept.unittest.class.php';
$dept = new deptTest();
r($dept->updateOrderTest($orders)) && p('17:order') && e('1'); //修改部门排序
$table = zenData('dept');
$table->id->range('1-20');
$table->name->range('部门1,部门2,部门3,部门4,部门5,部门6,部门7,部门8,部门9,部门10,部门11,部门12,部门13,部门14,部门15,部门16,部门17,部门18,部门19,部门20');
$table->parent->range('0{5},1{5},2{5},3{5}');
$table->path->range(',1,,2,,3,,4,,5,,1,1,,1,2,,1,3,,1,4,,1,5,');
$table->grade->range('1{5},2{15}');
$table->order->range('1-20');
$table->position->range('');
$table->function->range('');
$table->manager->range('');
$table->gen(20);
su('admin');
$deptTest = new deptTest();
r($deptTest->updateOrderTest(array('3', '1', '5', '2', '4'))) && p('3:order,1:order,5:order,2:order,4:order') && e('1,2,3,4,5'); // 测试步骤1:正常多部门排序更新
r($deptTest->updateOrderTest(array('10'))) && p('10:order') && e('1'); // 测试步骤2:单个部门排序更新
r($deptTest->updateOrderTest(array())) && p() && e('1'); // 测试步骤3:空数组输入测试
r($deptTest->updateOrderTest(array('999', '888'))) && p() && e('1'); // 测试步骤4:不存在部门ID测试
r($deptTest->updateOrderTest(array('6', '7', '8', '9', '11', '12', '13', '14', '15', '16'))) && p('6:order,16:order') && e('1,10'); // 测试步骤5:大量部门排序测试