[fix]:[FL-55][ATP模型管理和线路管理菜单冲突]

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
chengkai3
2026-06-09 00:11:06 +08:00
parent 738d0b599a
commit 2a10cc62d8
6 changed files with 33 additions and 3 deletions
+15 -1
View File
@@ -20,7 +20,7 @@ from api.app.core.database import Base, get_db, init_db
from api.app.core.dependencies import CurrentUser, get_current_user
from api.app.models.menu import Menu
from api.app.models.user import User
from api.app.services.legacy_authz_service import DEFAULT_ADMIN_PERMISSION_CODES
from api.app.services.legacy_authz_service import DEFAULT_ADMIN_PERMISSION_CODES, SYNTHETIC_LEGACY_MENU_ROWS
from api.app.services.seed_service import DEFAULT_MENUS, DEFAULT_PERMISSIONS, DEFAULT_ROLES, SeedDefaultsResult, seed_defaults
from api.app.services.topic_registry import TOPIC_RULES
@@ -93,6 +93,11 @@ class LegacyQuizCleanupContractTest(unittest.TestCase):
self.assertNotIn("question_bank.read", DEFAULT_ROLES["admin"]["permissions"])
self.assertNotIn("question_bank.manage", DEFAULT_ROLES["admin"]["permissions"])
def test_legacy_authz_uses_standalone_atp_models_menu_url(self) -> None:
atp_menu = next(row for row in SYNTHETIC_LEGACY_MENU_ROWS if row["menu_id"] == "admin.atp_models")
self.assertEqual(atp_menu["url"], "/admin/atp-models")
class SeedDefaultsServiceTest(DatabaseFixtureTestCase):
def setUp(self) -> None:
@@ -151,6 +156,15 @@ class SeedDefaultsServiceTest(DatabaseFixtureTestCase):
self.assertTrue(result.overwrote_existing)
self.assertGreater(result.summary["menus"].overwritten, 0)
def test_seed_defaults_use_standalone_atp_models_path(self) -> None:
self._run_seed()
menu = self._load_menu("admin.atp_models")
default_menu = DEFAULT_MENU_BY_CODE["admin.atp_models"]
self.assertEqual(str(default_menu["path"]), "/admin/atp-models")
self.assertEqual(menu.path, "/admin/atp-models")
class SeedDefaultsEndpointTest(DatabaseFixtureTestCase):
def setUp(self) -> None: