From f10c3990950e0af54cd495138704c143f267c3f4 Mon Sep 17 00:00:00 2001 From: wangyuting Date: Mon, 21 Jul 2025 16:11:45 +0800 Subject: [PATCH] * [bug#64095,done,1h,0h] Add checkprivmenu and setsubmenu unit test script. --- module/admin/model.php | 4 +-- module/admin/test/model/checkprivmenu.php | 40 +++++++++++++++++++++++ module/admin/test/model/setsubmenu.php | 36 ++++++++++++++++++++ 3 files changed, 78 insertions(+), 2 deletions(-) create mode 100755 module/admin/test/model/checkprivmenu.php create mode 100755 module/admin/test/model/setsubmenu.php diff --git a/module/admin/model.php b/module/admin/model.php index 9ddaedf6dc..0519b7e4c0 100755 --- a/module/admin/model.php +++ b/module/admin/model.php @@ -243,7 +243,7 @@ class adminModel extends model { /* Reorder secondary navigation. */ $subMenuList = array(); - $subMenuOrders = $menu['menuOrder']; + $subMenuOrders = !empty($menu['menuOrder']) ? $menu['menuOrder'] : array(); if(empty($subMenuOrders)) return array(); ksort($subMenuOrders); foreach($subMenuOrders as $value) @@ -288,7 +288,7 @@ class adminModel extends model $menu['subMenu'][$subMenuKey]['link'] = substr($subMenu['link'], 0, strpos($subMenu['link'], '|') + 1) . $module . '|' . $method . '|' . $params; /* Update the level 1 navigation link. */ - if($menu['disabled']) + if(!empty($menu['disabled'])) { $menu['link'] = helper::createLink($module, $method, $params); $menu['disabled'] = false; diff --git a/module/admin/test/model/checkprivmenu.php b/module/admin/test/model/checkprivmenu.php new file mode 100755 index 0000000000..5daf023589 --- /dev/null +++ b/module/admin/test/model/checkprivmenu.php @@ -0,0 +1,40 @@ +#!/usr/bin/env php +checkPrivMenu(); +timeout=0 +cid=0 + +- 获取key为system的导航菜单信息。 + - 第system条的name属性 @系统设置 + - 第system条的order属性 @5 +- 获取key为switch的导航菜单信息。 + - 第switch条的name属性 @功能开关 + - 第switch条的order属性 @10 +- 获取key为company的导航菜单信息。 + - 第company条的name属性 @人员管理 + - 第company条的order属性 @15 +- 获取key为feature的导航菜单信息。 + - 第feature条的name属性 @功能配置 + - 第feature条的order属性 @25 +- 获取key为message的导航菜单信息。 + - 第message条的name属性 @通知设置 + - 第message条的order属性 @35 +- 获取key为dev的导航菜单信息。 + - 第dev条的name属性 @二次开发 + - 第dev条的order属性 @45 + +*/ +include dirname(__FILE__, 5) . '/test/lib/init.php'; + +global $tester,$lang; +$tester->loadModel('admin'); +r($lang->admin->menuList) && p('system:name,order') && e('系统设置,5'); // 获取key为system的导航菜单信息。 +r($lang->admin->menuList) && p('switch:name,order') && e('功能开关,10'); // 获取key为switch的导航菜单信息。 +r($lang->admin->menuList) && p('company:name,order') && e('人员管理,15'); // 获取key为company的导航菜单信息。 +$tester->admin->checkPrivMenu(); +r($lang->admin->menuList) && p('feature:name,order') && e('功能配置,25'); // 获取key为feature的导航菜单信息。 +r($lang->admin->menuList) && p('message:name,order') && e('通知设置,35'); // 获取key为message的导航菜单信息。 +r($lang->admin->menuList) && p('dev:name,order') && e('二次开发,45'); // 获取key为dev的导航菜单信息。 diff --git a/module/admin/test/model/setsubmenu.php b/module/admin/test/model/setsubmenu.php new file mode 100755 index 0000000000..116f7f22d2 --- /dev/null +++ b/module/admin/test/model/setsubmenu.php @@ -0,0 +1,36 @@ +#!/usr/bin/env php +setSubMenu(); +timeout=0 +cid=0 + +- 获取key为system的子级导航菜单信息。 + - 属性name @系统设置 + - 属性order @5 +- 获取key为switch的子级导航菜单信息。 + - 属性name @0 + - 属性order @0 +- 获取key为company的子级导航菜单信息。 + - 属性name @人员管理 + - 属性order @15 +- 获取key为feature的子级导航菜单信息。 + - 属性name @功能配置 + - 属性order @25 +- 获取key为message的子级导航菜单信息。 + - 属性name @通知设置 + - 属性order @35 + +*/ +include dirname(__FILE__, 5) . '/test/lib/init.php'; + +global $tester,$lang; +$tester->loadModel('admin'); + +r($tester->admin->setSubMenu('system', $lang->admin->menuList->system)) && p('name,order') && e('系统设置,5'); // 获取key为system的子级导航菜单信息。 +r($tester->admin->setSubMenu('switch', $lang->admin->menuList->switch)) && p('name,order') && e('0,0'); // 获取key为switch的子级导航菜单信息。 +r($tester->admin->setSubMenu('company', $lang->admin->menuList->company)) && p('name,order') && e('人员管理,15'); // 获取key为company的子级导航菜单信息。 +r($tester->admin->setSubMenu('feature', $lang->admin->menuList->feature)) && p('name,order') && e('功能配置,25'); // 获取key为feature的子级导航菜单信息。 +r($tester->admin->setSubMenu('message', $lang->admin->menuList->message)) && p('name,order') && e('通知设置,35'); // 获取key为message的子级导航菜单信息。