* Refactor personnelModel::getWhitelistAccount, and modify its unit test.
This commit is contained in:
@@ -525,6 +525,7 @@ class personnelModel extends model
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试获取对象白名单人员账号。
|
||||
* Get whitelisted accounts.
|
||||
*
|
||||
* @param int $objectID
|
||||
@@ -532,9 +533,9 @@ class personnelModel extends model
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getWhitelistAccount(int $objectID = 0, string $objectType = '')
|
||||
public function getWhitelistAccount(int $objectID = 0, string $objectType = ''): array
|
||||
{
|
||||
return $this->dao->select('account')->from(TABLE_ACL)->where('objectID')->eq($objectID)->andWhere('objectType')->eq($objectType)->fetchPairs('account', 'account');
|
||||
return $this->dao->select('account,account')->from(TABLE_ACL)->where('objectID')->eq($objectID)->andWhere('objectType')->eq($objectType)->fetchPairs();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/personnel.class.php';
|
||||
|
||||
zdTable('acl')->gen(100);
|
||||
zdTable('acl')->gen(50);
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,34 +12,26 @@ title=测试 personnelModel->getWhitelistAccount();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
这是一个正常测试,统计关联白名单人员数量 >> 3
|
||||
取出其中一个数据admin >> admin
|
||||
取出另一个数据dev10 >> dev10
|
||||
取出objectid2的白名单数量 >> 0
|
||||
当objectID不存在时,统计匹配数量 >> 0
|
||||
当传入参数为空时,统计匹配人员数量 >> 0
|
||||
|
||||
*/
|
||||
|
||||
$personnel = new personnelTest('admin');
|
||||
|
||||
$objectID = array();
|
||||
$objectID[0] = 1;
|
||||
$objectID[1] = 2;
|
||||
$objectID[2] = 1111;
|
||||
$objectIdList = array(1, 2, 3, 4);
|
||||
$objectTypeList = array('program', 'project', 'product', 'sprint');
|
||||
|
||||
$objectType = array();
|
||||
$objectType[0] = 'project';
|
||||
$objectType[1] = 'program';
|
||||
$objectType[2] = 'product';
|
||||
$objectType[3] = 'sprint';
|
||||
|
||||
$result1 = $personnel->getWhitelistAccountTest($objectID[0], $objectType[1]);
|
||||
$result2 = $personnel->getWhitelistAccountTest($objectID[1], $objectType[2]);
|
||||
$result3 = $personnel->getWhitelistAccountTest($objectID[2], $objectType[3]);
|
||||
|
||||
r(count($result1)) && p() && e('5'); //这是一个正常测试,统计关联白名单人员数量
|
||||
r($result1) && p('admin') && e('admin'); //取出其中一个数据admin
|
||||
r($result1) && p('user20') && e('user20'); //取出另一个数据dev10
|
||||
r(count($result2)) && p() && e('5'); //取出objectid2的白名单数量
|
||||
r(count($result3)) && p() && e('0'); //当objectID不存在时,统计匹配数量
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[0], $objectTypeList[0])) && p() && e('admin,user20,user40'); // 测试获取 项目集 1 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[0], $objectTypeList[1])) && p() && e('user10,user30'); // 测试获取 项目 1 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[0], $objectTypeList[2])) && p() && e('0'); // 测试获取 产品 1 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[0], $objectTypeList[3])) && p() && e('0'); // 测试获取 执行 1 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[1], $objectTypeList[0])) && p() && e('0'); // 测试获取 项目集 2 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[1], $objectTypeList[1])) && p() && e('0'); // 测试获取 项目 2 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[1], $objectTypeList[2])) && p() && e('user1,user21,user41'); // 测试获取 产品 2 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[1], $objectTypeList[3])) && p() && e('user11,user31'); // 测试获取 执行 2 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[2], $objectTypeList[0])) && p() && e('user12,user32'); // 测试获取 项目集 3 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[2], $objectTypeList[1])) && p() && e('user2,user22,user42'); // 测试获取 项目 3 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[2], $objectTypeList[2])) && p() && e('0'); // 测试获取 产品 3 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[2], $objectTypeList[3])) && p() && e('0'); // 测试获取 执行 3 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[3], $objectTypeList[0])) && p() && e('0'); // 测试获取 项目集 4 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[3], $objectTypeList[1])) && p() && e('0'); // 测试获取 项目 4 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[3], $objectTypeList[2])) && p() && e('user13,user33'); // 测试获取 产品 4 的白名单人员
|
||||
r($personnel->getWhitelistAccountTest($objectIdList[3], $objectTypeList[3])) && p() && e('user3,user23,user43'); // 测试获取 执行 4 的白名单人员
|
||||
|
||||
@@ -265,20 +265,21 @@ class personnelTest
|
||||
}
|
||||
|
||||
/**
|
||||
* Get whitelist account test
|
||||
* 测试获取对象的白名单账号。
|
||||
* Test get whitelist account.
|
||||
*
|
||||
* @param int $objectID
|
||||
* @param string $objectType
|
||||
* @param int $objectID
|
||||
* @param string $objectType
|
||||
* @access public
|
||||
* @return array
|
||||
* @return array|array
|
||||
*/
|
||||
public function getWhitelistAccountTest($objectID = 0, $objectType = '')
|
||||
public function getWhitelistAccountTest(int $objectID = 0, string $objectType = ''): string|array
|
||||
{
|
||||
$objects = $this->objectModel->getWhitelistAccount($objectID, $objectType);
|
||||
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return $objects;
|
||||
return implode(',', $objects);
|
||||
}
|
||||
|
||||
public function updateWhitelistTest($users = array(), $objectType = '', $objectID = 0, $type = 'whitelist', $source = 'add', $updateType = 'replace')
|
||||
|
||||
Reference in New Issue
Block a user