fix(HEL-233): 恢复移动端系统管理五页,避免再落入占位
nav 里的账号资料/改密/会员/系统设置/会员管理此前从未注册到 pages.js, HEL-227 把用户导向 /m/ 后全部落到占位页。按桌面端已有能力补齐真实页面, 并加源码回归防止再次漏注册。 Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
co-authored by
Cursor
multica-agent
parent
f7cf9a6454
commit
13cd9940f7
@@ -0,0 +1,59 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import re
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
NAV = ROOT / "frontend/m/config/nav.config.js"
|
||||
PAGES = ROOT / "frontend/m/js/pages.js"
|
||||
ROUTER = ROOT / "frontend/m/js/router.js"
|
||||
|
||||
|
||||
class MobileSystemPagesRegressionTests(unittest.TestCase):
|
||||
"""Prevent mobile system-management entries from falling back to placeholders."""
|
||||
|
||||
def test_nav_system_entries_are_registered_as_real_pages(self) -> None:
|
||||
nav = NAV.read_text(encoding="utf-8")
|
||||
pages = PAGES.read_text(encoding="utf-8")
|
||||
keys = re.findall(r'key:\s*"(system/[^"]+)"', nav)
|
||||
self.assertEqual(
|
||||
keys,
|
||||
[
|
||||
"system/profile",
|
||||
"system/password",
|
||||
"system/membership",
|
||||
"system/admin",
|
||||
"system/members",
|
||||
],
|
||||
)
|
||||
for key in keys:
|
||||
self.assertIn(f'"{key}": setupSystemPage', pages)
|
||||
self.assertIn(f'"{key}": loadSystem', pages)
|
||||
|
||||
def test_placeholder_copy_is_only_a_router_fallback(self) -> None:
|
||||
router = ROUTER.read_text(encoding="utf-8")
|
||||
pages = PAGES.read_text(encoding="utf-8")
|
||||
self.assertIn("该功能页将在后续批次实现", router)
|
||||
self.assertNotIn("该功能页将在后续批次实现", pages)
|
||||
self.assertIn("function setupSystemPage", pages)
|
||||
self.assertIn("function loadSystem", pages)
|
||||
|
||||
def test_system_pages_render_real_controls_not_stubs(self) -> None:
|
||||
pages = PAGES.read_text(encoding="utf-8")
|
||||
for marker in (
|
||||
'data-system-page="profile"',
|
||||
'data-system-page="password"',
|
||||
'data-system-page="membership"',
|
||||
'data-system-page="members"',
|
||||
'data-system-page="forbidden"',
|
||||
'data-system-admin-panel="market"',
|
||||
"m-sys-birth-date",
|
||||
"m-sys-password-current",
|
||||
"m-sys-token",
|
||||
"m-sys-member-limit",
|
||||
"data-system-switch",
|
||||
'location.assign("/login/")',
|
||||
):
|
||||
self.assertIn(marker, pages)
|
||||
Reference in New Issue
Block a user