diff --git a/module/dept/test/lib/dept.unittest.class.php b/module/dept/test/lib/dept.unittest.class.php index f8a46a5aa5..b74877c6ce 100644 --- a/module/dept/test/lib/dept.unittest.class.php +++ b/module/dept/test/lib/dept.unittest.class.php @@ -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; } /** diff --git a/module/dept/test/model/updateorder.php b/module/dept/test/model/updateorder.php index 2856984c43..f562fff711 100755 --- a/module/dept/test/model/updateorder.php +++ b/module/dept/test/model/updateorder.php @@ -1,22 +1,48 @@ #!/usr/bin/env php 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:大量部门排序测试 \ No newline at end of file