* [misc] Enhance unit tests for repoModel::isClickable() method

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
liugang
2025-09-25 09:16:32 +08:00
co-authored by Claude
parent 2a51a819fb
commit 7cb925c607
2 changed files with 43 additions and 13 deletions
@@ -25,6 +25,23 @@ class repoTest
return $objects;
}
/**
* Test isClickable method.
*
* @param object $repo
* @param string $action
* @access public
* @return bool
*/
public function isClickableTest($repo, $action)
{
$result = $this->objectModel->isClickable($repo, $action);
if(dao::isError()) return dao::getError();
return $result;
}
public function setMenuTest(int $repoID = 0)
{
$repos = $this->objectModel->dao->select('id')->from(TABLE_REPO)->fetchPairs('id');
+26 -13
View File
@@ -1,24 +1,34 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
/**
title=测试 repoModel::isClickable();
timeout=0
cid=1
cid=0
- 计算exec为disabled是否能进行执行任务操作 @0
- 计算exec为空是否能进行执行任务操作 @1
- 计算report为disabled是否能进行执行任务操作 @0
- 计算report为空是否能进行执行任务操作 @1
- 执行repoTest模块的isClickableTest方法,参数是$repo1, 'execJob' @0
- 执行repoTest模块的isClickableTest方法,参数是$repo2, 'execJob' @1
- 执行repoTest模块的isClickableTest方法,参数是$repo3, 'reportView' @0
- 执行repoTest模块的isClickableTest方法,参数是$repo4, 'reportView' @1
- 执行repoTest模块的isClickableTest方法,参数是$repo5, 'edit' @1
*/
zenData('repo')->loadYaml('repo')->gen(4);
zenData('repohistory')->loadYaml('repohistory')->gen(3);
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/repo.unittest.class.php';
$repoModel = $tester->loadModel('repo');
$repo = zenData('repo');
$repo->id->range('1-5');
$repo->name->range('repo1,repo2,repo3,repo4,repo5');
$repo->SCM->range('Git');
$repo->product->range('1');
$repo->acl->range('open');
$repo->gen(5);
su('admin');
$repoTest = new repoTest();
$repo1 = new stdclass();
$repo1->exec = 'disabled';
@@ -32,7 +42,10 @@ $repo3->report = 'disabled';
$repo4 = new stdclass();
$repo4->report = '';
r($repoModel->isClickable($repo1, 'execJob')) && p() && e('0'); //计算exec为disabled是否能进行执行任务操作
r($repoModel->isClickable($repo2, 'execJob')) && p() && e('1'); //计算exec为空是否能进行执行任务操作
r($repoModel->isClickable($repo3, 'reportView')) && p() && e('0'); //计算report为disabled是否能进行执行任务操作
r($repoModel->isClickable($repo4, 'reportView')) && p() && e('1'); //计算report为空是否能进行执行任务操作
$repo5 = new stdclass();
r($repoTest->isClickableTest($repo1, 'execJob')) && p() && e('0');
r($repoTest->isClickableTest($repo2, 'execJob')) && p() && e('1');
r($repoTest->isClickableTest($repo3, 'reportView')) && p() && e('0');
r($repoTest->isClickableTest($repo4, 'reportView')) && p() && e('1');
r($repoTest->isClickableTest($repo5, 'edit')) && p() && e('1');