From 7cb925c6072d926db42902ace22beaef454804b3 Mon Sep 17 00:00:00 2001 From: liugang Date: Tue, 23 Sep 2025 12:03:04 +0800 Subject: [PATCH] * [misc] Enhance unit tests for repoModel::isClickable() method MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- module/repo/test/lib/repo.unittest.class.php | 17 +++++++++ module/repo/test/model/isclickable.php | 39 +++++++++++++------- 2 files changed, 43 insertions(+), 13 deletions(-) diff --git a/module/repo/test/lib/repo.unittest.class.php b/module/repo/test/lib/repo.unittest.class.php index b2da3b1dda..a2bc7b08a6 100755 --- a/module/repo/test/lib/repo.unittest.class.php +++ b/module/repo/test/lib/repo.unittest.class.php @@ -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'); diff --git a/module/repo/test/model/isclickable.php b/module/repo/test/model/isclickable.php index 14386d802c..f8145513c5 100755 --- a/module/repo/test/model/isclickable.php +++ b/module/repo/test/model/isclickable.php @@ -1,24 +1,34 @@ #!/usr/bin/env php 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为空是否能进行执行任务操作 \ No newline at end of file +$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'); \ No newline at end of file