diff --git a/module/block/test/lib/block.unittest.class.php b/module/block/test/lib/block.unittest.class.php index cfbf92d1a9..52733e04a2 100644 --- a/module/block/test/lib/block.unittest.class.php +++ b/module/block/test/lib/block.unittest.class.php @@ -872,4 +872,38 @@ class blockTest return $result; } + + /** + * Test getAvailableModules method in zen layer. + * + * @param string $dashboard + * @access public + * @return array + */ + public function getAvailableModulesTest(string $dashboard) + { + global $tester; + + include_once dirname(__FILE__, 3) . '/model.php'; + + if (!class_exists('block')) { + class_alias('blockModel', 'block'); + } + + include_once dirname(__FILE__, 3) . '/zen.php'; + + $blockZen = new blockZen(); + $blockZen->block = $this->objectModel; + + // 使用反射访问受保护的方法 + $reflection = new ReflectionClass($blockZen); + $method = $reflection->getMethod('getAvailableModules'); + $method->setAccessible(true); + + $result = $method->invoke($blockZen, $dashboard); + + if(dao::isError()) return dao::getError(); + + return $result; + } } diff --git a/module/block/test/zen/getavailablemodules.php b/module/block/test/zen/getavailablemodules.php new file mode 100755 index 0000000000..f101d42dc5 --- /dev/null +++ b/module/block/test/zen/getavailablemodules.php @@ -0,0 +1,27 @@ +#!/usr/bin/env php +getAvailableModulesTest('my'))) && p() && e('7'); +r(count($blockTest->getAvailableModulesTest('product'))) && p() && e('0'); +r(count($blockTest->getAvailableModulesTest('project'))) && p() && e('0'); +r(count($blockTest->getAvailableModulesTest('execution'))) && p() && e('0'); +r(count($blockTest->getAvailableModulesTest('qa'))) && p() && e('0'); \ No newline at end of file