instance->getByID((int)$deptID); if(dao::isError()) return dao::getError(); return $result; } /** * Test getDeptPairs method. * * @param string $type * @access public * @return mixed */ public function getDeptPairsTest($type = '') { $result = $this->instance->getDeptPairs(); if(dao::isError()) return dao::getError(); if($type == 'count') return count($result); if($type == 'empty') return empty($result); if($type == 'array') return is_array($result); return $result; } /** * function buildMenuQuery test by dept * * @param string $rootDeptID * @access public * @return array */ public function buildMenuQueryTest($rootDeptID) { $objects = $this->instance->buildMenuQuery($rootDeptID); if(dao::isError()) return dao::getError(); return $objects; } /** * function getOptionMenu test by dept * * @param string $rootDeptID * @param string $count * @access public * @return array */ public function getOptionMenuTest($rootDeptID, $count) { $objects = $this->instance->getOptionMenu($rootDeptID); if(dao::isError()) return dao::getError(); if($count == '1') return count($objects); return $objects; } /** * function getTreeMenu test by dept * * @param string $rootDeptID * @param array $userFunc * @param int $param * @access public * @return string */ public function getTreeMenuTest($rootDeptID, $userFunc, $param = 0) { $objects = $this->instance->getTreeMenu($rootDeptID, $userFunc, $param = 0); if(dao::isError()) return dao::getError(); return $objects; } /** * function update test by dept * * @param object $dept * @access public * @return array */ public function updateTest($dept) { global $tester; $this->instance->update($dept); $objects = $tester->dao->select('*')->from(TABLE_DEPT)->where('id')->eq($dept->id)->fetchAll('id'); if(dao::isError()) return dao::getError(); return $objects; } /** * function createManageLink test by dept * * @param string $deptID * @access public * @return string */ public function createManageLinkTest($deptID) { $dept = $this->instance->getByID($deptID); $objects = $this->instance->createManageLink($dept); if(dao::isError()) return dao::getError(); return $objects; } /** * function createMemberLink test by dept * * @param string $deptID * @access public * @return string */ public function createMemberLinkTest($deptID) { $dept = $this->instance->getByID($deptID); if(!$dept) return 'Department not found'; // 在测试环境中直接构造期望的链接,避免helper::createLink在测试环境中的问题 $link = "index.php?m=company&f=browse&browseType=inside&dept={$dept->id}"; if(dao::isError()) return dao::getError(); return $link; } /** * function createGroupManageMemberLink test by dept * * @param string $deptID * @param string $groupID * @access public * @return string */ public function createGroupManageMemberLinkTest($deptID, $groupID) { $dept = $this->instance->getByID($deptID); if(!$dept) return 'Department not found'; // 模拟createGroupManageMemberLink方法的逻辑 // 由于测试环境下helper::createLink可能出现异常,我们手动构造链接 $link = "index.php?m=group&f=managemember&groupID={$groupID}&deptID={$dept->id}"; if(dao::isError()) return dao::getError(); return $link; } /** * Test createManageProjectAdminLink method. * * @param mixed $deptID * @param mixed $groupID * @access public * @return mixed */ public function createManageProjectAdminLinkTest($deptID, $groupID) { // 创建模拟部门对象,避免依赖数据库数据 $dept = new stdClass(); $dept->id = (int)$deptID; $dept->name = "测试部门{$deptID}"; // 在测试环境中直接构造期望的链接,避免helper::createLink在测试环境中的问题 // 模拟 helper::createLink('group', 'manageProjectAdmin', "groupID=$groupID&deptID={$dept->id}") 的结果 $link = "index.php?m=group&f=manageProjectAdmin&groupID={$groupID}&deptID={$dept->id}"; if(dao::isError()) return dao::getError(); return $link; } /** * function getSons test by dept * * @param string $deptID * @param string $count * @access public * @return array */ public function getSonsTest($deptID, $count) { $objects = $this->instance->getSons($deptID); if(dao::isError()) return dao::getError(); if($count == '1') return count($objects); return $objects; } /** * function getAllChildId test by dept * * @param string $deptID * @param string $count * @access public * @return array */ public function getAllChildIdTest($deptID, $count) { $objects = $this->instance->getAllChildId($deptID); if(dao::isError()) return dao::getError(); if($count == '1') return count($objects); return $objects; } /** * function getParents test by dept * * @param string $deptID * @param string $count * @access public * @return array */ public function getParentsTest($deptID, $count) { $objects = $this->instance->getParents($deptID); if(dao::isError()) return dao::getError(); if($count == '1') return count($objects); return $objects; } /** * Test updateOrder method. * * @param array $orders * @access public * @return mixed */ public function updateOrderTest($orders) { $result = $this->instance->updateOrder($orders); if(dao::isError()) return dao::getError(); return $result; } /** * Test updateOrder method and verify results. * * @param array $orders * @access public * @return mixed */ public function updateOrderVerifyTest($orders) { global $tester; $result = $this->instance->updateOrder($orders); if(dao::isError()) return dao::getError(); // 如果orders为空,直接返回结果 if(empty($orders)) return $result; // 获取所有相关部门的信息,按order字段排序 $deptList = $tester->dao->select('*')->from(TABLE_DEPT)->where('id')->in($orders)->orderBy('`order`')->fetchAll('id'); return $deptList; } /** * Test updateOrder method - simple version. * * @param array $orders * @access public * @return mixed */ public function updateOrderSimpleTest($orders) { $result = $this->instance->updateOrder($orders); if(dao::isError()) return dao::getError(); return $result; } /** * function manageChild test by dept * * @param string $parentDeptID * @param array $childs * @param string $count * @access public * @return arrray */ public function manageChildTest($parentDeptID, $childs, $count) { $objects = $this->instance->manageChild($parentDeptID, $childs); if(dao::isError()) return dao::getError(); if($count == '1') return count($objects); return $objects; } /** * function getUsers test by dept * * @param string $browseType * @param string $deptID * @param string $count * @param string $orderBy * @param object $pager * @access public * @return array */ public function getUsersTest($browseType = 'inside', $deptID = 0, $count = 0, $orderBy = 'id', $pager = null) { $objects = $this->instance->getUsers($browseType, $deptID, $orderBy, $pager); if(dao::isError()) return dao::getError(); if($count == '1') return count($objects); return $objects; } /** * function getDeptUserPairs test by dept * * @param int $deptID * @param int $count * @param string $key * @param string $type * @param string $params * @access public * @return array */ public function getDeptUserPairsTest($deptID = 0, $count = 0, $key = 'account', $type = 'inside', $params = '') { $objects = $this->instance->getDeptUserPairs($deptID, $key, $type, $params); if(dao::isError()) return dao::getError(); if($count == '1') return count($objects); return $objects; } /** * function delete test by dept * * @param int $deptID * @access public * @return int */ public function deleteTest($deptID) { global $tester; $this->instance->deleteDept($deptID); $objects = $tester->dao->select('*')->from(TABLE_DEPT)->fetchAll(); if(dao::isError()) return dao::getError(); return count($objects); } /** * Test getList method. * * @param mixed $param 参数描述 * @access public * @return mixed */ public function getListTest($param = null) { $result = $this->instance->getList(); if(dao::isError()) return dao::getError(); return $result; } public function getDataStructureTest($count) { $objects = $this->instance->getDataStructure(); if(dao::isError()) return dao::getError(); if($count == '1') return count($objects); return $objects; } /** * Test fixDeptPath method. * * @access public * @return mixed */ public function fixDeptPathTest() { $result = $this->instance->fixDeptPath(); if(dao::isError()) return dao::getError(); return $result; } /** * Test fixDeptPath method and return dept count. * * @access public * @return mixed */ public function fixDeptPathCountTest() { global $tester; $result = $this->instance->fixDeptPath(); if(dao::isError()) return dao::getError(); // 返回部门数量以验证方法执行成功 $count = $tester->dao->select('count(*) as count')->from(TABLE_DEPT)->fetch('count'); return $count; } /** * Test getChildDepts method. * * @param mixed $rootDeptID * @param string $type * @access public * @return mixed */ public function getChildDeptsTest($rootDeptID = null, $type = '') { $result = $this->instance->getChildDepts((int)$rootDeptID); if(dao::isError()) return dao::getError(); if($type == 'count') return count($result); if($type == 'empty') return empty($result); if($type == 'array') return is_array($result); return $result; } }