Files
EasySoft-ZenTaoPMS/module/gogs/test/lib/gogs.unittest.class.php
T
2025-09-15 15:09:55 +08:00

104 lines
2.6 KiB
PHP
Executable File

<?php
declare(strict_types = 1);
class gogsTest
{
private $gogs;
public function __construct()
{
global $tester;
$this->gogs = $tester->loadModel('gogs');
}
/**
* Test bindUser method.
*
* @param array $userList
* @access public
* @return array|string
*/
public function bindUserTester(array $userList): array|string
{
$nameList = array();
foreach($userList as $openID => $user) $nameList[$openID] = 'Gitea-' . $user;
$result = $this->gogs->bindUser(1, $userList, $nameList);
if(!$result) return dao::getError();
return $this->gogs->dao->select('*')->from(TABLE_OAUTH)
->where('providerID')->eq(1)
->andWhere('providerType')->eq('gogs')
->fetchAll();
}
/**
* Test apiGetMergeRequests method.
*
* @param int $gogsID
* @param string $project
* @access public
* @return mixed
*/
public function apiGetMergeRequestsTest(int $gogsID = 0, string $project = ''): mixed
{
$result = $this->gogs->apiGetMergeRequests($gogsID, $project);
if(dao::isError()) return dao::getError();
return is_array($result) ? count($result) : 0;
}
/**
* Test checkToken method.
*
* @param object $gogs
* @access public
* @return mixed
*/
public function checkTokenTest(object $gogs): mixed
{
global $tester;
// 创建zen实例并设置必需的依赖
$zen = initReference('gogs');
$method = $zen->getMethod('checkToken');
$method->setAccessible(true);
// 创建一个zen实例
$zenInstance = $zen->newInstance();
// 动态添加gogs属性
$zenInstance->gogs = $this->gogs;
$result = $method->invoke($zenInstance, $gogs);
if(dao::isError()) return dao::getError();
return $result;
}
/**
* Test getMatchedUsers method.
*
* @param int $gogsID
* @param array $gogsUsers
* @access public
* @return mixed
*/
public function getMatchedUsersTest(int $gogsID, array $gogsUsers): mixed
{
global $tester;
// 创建zen实例并设置必需的依赖
$zen = initReference('gogs');
$method = $zen->getMethod('getMatchedUsers');
$method->setAccessible(true);
// 创建一个zen实例
$zenInstance = $zen->newInstance();
$result = $method->invoke($zenInstance, $gogsID, $gogsUsers);
if(dao::isError()) return dao::getError();
return $result;
}
}