* [misc] Fix unit tests for giteaModel::apiGetMergeRequests() method
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -404,11 +404,15 @@ class giteaModel extends model
|
||||
*/
|
||||
public function apiGetMergeRequests(int $giteaID, string $project): array
|
||||
{
|
||||
$apiRoot = $this->getApiRoot($giteaID, false);
|
||||
$apiRoot = $this->getApiRoot($giteaID, false);
|
||||
if(!$apiRoot) return array();
|
||||
|
||||
$apiPath = "/repos/{$project}/pulls";
|
||||
$url = sprintf($apiRoot, $apiPath);
|
||||
|
||||
$mrList = json_decode(common::http($url));
|
||||
if(!is_array($mrList)) return array();
|
||||
|
||||
foreach($mrList as $mr)
|
||||
{
|
||||
$mr->web_url = $mr->url;
|
||||
@@ -422,7 +426,7 @@ class giteaModel extends model
|
||||
$mr->source_branch = $mr->head->ref;
|
||||
$mr->source_project_id = $project;
|
||||
$mr->target_project_id = $project;
|
||||
$mr->has_conflicts = empty($diff) ? true : false;
|
||||
$mr->has_conflicts = !$mr->mergeable;
|
||||
$mr->is_draft = strpos($mr->title, 'Draft:') === 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -66,15 +66,10 @@ class giteaTest
|
||||
*/
|
||||
public function apiGetMergeRequestsTest(int $giteaID, string $project)
|
||||
{
|
||||
try {
|
||||
$result = $this->gitea->apiGetMergeRequests($giteaID, $project);
|
||||
if(dao::isError()) return dao::getError();
|
||||
return $result;
|
||||
} catch (TypeError $e) {
|
||||
return 'TypeError: ' . $e->getMessage();
|
||||
} catch (Exception $e) {
|
||||
return 'Error: ' . $e->getMessage();
|
||||
}
|
||||
$result = $this->gitea->apiGetMergeRequests($giteaID, $project);
|
||||
if(dao::isError()) return dao::getError();
|
||||
|
||||
return count($result);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -7,36 +7,33 @@ title=测试 giteaModel::apiGetMergeRequests();
|
||||
timeout=0
|
||||
cid=0
|
||||
|
||||
- 执行giteaTest模块的apiGetMergeRequestsTest方法,参数是1, 'test/project' @*foreach() argument must be of type array|object, null given*TypeError: giteaModel::apiGetMergeRequests(): Return value must be of type array, null returned*
|
||||
|
||||
- 执行giteaTest模块的apiGetMergeRequestsTest方法,参数是999, 'test/project' @*foreach() argument must be of type array|object, null given*TypeError: giteaModel::apiGetMergeRequests(): Return value must be of type array, null returned*
|
||||
|
||||
- 执行giteaTest模块的apiGetMergeRequestsTest方法,参数是0, 'test/project' @*foreach() argument must be of type array|object, null given*TypeError: giteaModel::apiGetMergeRequests(): Return value must be of type array, null returned*
|
||||
|
||||
- 执行giteaTest模块的apiGetMergeRequestsTest方法,参数是1, '' @*foreach() argument must be of type array|object, null given*TypeError: giteaModel::apiGetMergeRequests(): Return value must be of type array, null returned*
|
||||
|
||||
- 执行giteaTest模块的apiGetMergeRequestsTest方法,参数是1, 'test/project@special' @*foreach() argument must be of type array|object, null given*TypeError: giteaModel::apiGetMergeRequests(): Return value must be of type array, null returned*
|
||||
- 执行giteaTest模块的apiGetMergeRequestsTest方法,参数是1, 'test/project' @0
|
||||
- 执行giteaTest模块的apiGetMergeRequestsTest方法,参数是999, 'test/project' @0
|
||||
- 执行giteaTest模块的apiGetMergeRequestsTest方法,参数是0, 'test/project' @0
|
||||
- 执行giteaTest模块的apiGetMergeRequestsTest方法,参数是1, '' @0
|
||||
- 执行giteaTest模块的apiGetMergeRequestsTest方法,参数是1, 'test/special-project' @0
|
||||
|
||||
*/
|
||||
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/lib/gitea.unittest.class.php';
|
||||
|
||||
$table = zenData('repo');
|
||||
$table = zenData('pipeline');
|
||||
$table->id->range('1-10');
|
||||
$table->name->range('gitea-repo{1-5}, test-repo{1-5}');
|
||||
$table->SCM->range('Gitea{10}');
|
||||
$table->serviceHost->range('http://gitea.test.com{10}');
|
||||
$table->type->range('gitea{10}');
|
||||
$table->name->range('gitea-server{1-5}, test-server{1-5}');
|
||||
$table->url->range('http://gitea.test.com{10}');
|
||||
$table->account->range('admin{10}');
|
||||
$table->password->range('token123{10}');
|
||||
$table->token->range('token123{10}');
|
||||
$table->deleted->range('0{10}');
|
||||
$table->gen(10);
|
||||
|
||||
su('admin');
|
||||
|
||||
$giteaTest = new giteaTest();
|
||||
|
||||
r($giteaTest->apiGetMergeRequestsTest(1, 'test/project')) && p() && e("*foreach() argument must be of type array|object, null given*TypeError: giteaModel::apiGetMergeRequests(): Return value must be of type array, null returned*");
|
||||
r($giteaTest->apiGetMergeRequestsTest(999, 'test/project')) && p() && e("*foreach() argument must be of type array|object, null given*TypeError: giteaModel::apiGetMergeRequests(): Return value must be of type array, null returned*");
|
||||
r($giteaTest->apiGetMergeRequestsTest(0, 'test/project')) && p() && e("*foreach() argument must be of type array|object, null given*TypeError: giteaModel::apiGetMergeRequests(): Return value must be of type array, null returned*");
|
||||
r($giteaTest->apiGetMergeRequestsTest(1, '')) && p() && e("*foreach() argument must be of type array|object, null given*TypeError: giteaModel::apiGetMergeRequests(): Return value must be of type array, null returned*");
|
||||
r($giteaTest->apiGetMergeRequestsTest(1, 'test/project@special')) && p() && e("*foreach() argument must be of type array|object, null given*TypeError: giteaModel::apiGetMergeRequests(): Return value must be of type array, null returned*");
|
||||
r($giteaTest->apiGetMergeRequestsTest(1, 'test/project')) && p() && e('0');
|
||||
r($giteaTest->apiGetMergeRequestsTest(999, 'test/project')) && p() && e('0');
|
||||
r($giteaTest->apiGetMergeRequestsTest(0, 'test/project')) && p() && e('0');
|
||||
r($giteaTest->apiGetMergeRequestsTest(1, '')) && p() && e('0');
|
||||
r($giteaTest->apiGetMergeRequestsTest(1, 'test/special-project')) && p() && e('0');
|
||||
Reference in New Issue
Block a user