Bladeren bron

fix: keep menu helper outside vuex module scan

马小龙 2 dagen geleden
bovenliggende
commit
d42b3fd234

+ 0 - 0
frontend/src/store/modules/menuFilter.js → frontend/src/store/menuFilter.js


+ 1 - 1
frontend/src/store/modules/menu.js

@@ -1,5 +1,5 @@
 import Routes from '@/router/routes'
-import { filterRoutes } from './menuFilter'
+import { filterRoutes } from '../menuFilter'
 const state = {
   refresh: true, // 更新路由
   roles: Routes.routes,

+ 14 - 1
tests/test_enterprise_identity_menu_filter_contract.py

@@ -1,11 +1,13 @@
 import base64
 import json
+import re
 import subprocess
 from pathlib import Path
 
 
 ROOT = Path(__file__).resolve().parents[1]
-FILTER = ROOT / "frontend/src/store/modules/menuFilter.js"
+FILTER = ROOT / "frontend/src/store/menuFilter.js"
+MODULES = ROOT / "frontend/src/store/modules"
 ROUTES = ROOT / "frontend/src/router/routes.js"
 
 
@@ -76,3 +78,14 @@ def test_user_manager_keeps_only_user_management_child():
 def test_leaf_requires_all_of_its_permissions():
     assert _strict_leaf_is_visible(["first:read"]) is False
     assert _strict_leaf_is_visible(["first:read", "second:seal"]) is True
+
+
+def test_every_auto_discovered_vuex_module_has_a_default_export():
+    missing_defaults = [
+        module.relative_to(ROOT).as_posix()
+        for module in MODULES.glob("**/*.js")
+        if not re.search(r"(?m)^\s*export\s+default\b", module.read_text(encoding="utf-8"))
+    ]
+    assert not missing_defaults, (
+        "auto-discovered Vuex modules must export default: " + ", ".join(missing_defaults)
+    )