from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission from django.core.management import call_command from apps.accounts.models import MenuItem, UserGroup def test_bootstrap_governance_seeds_admin_roles_groups_permissions_and_menus(db, settings): settings.DJANGO_SUPERUSER_USERNAME = "admin" settings.DJANGO_SUPERUSER_PASSWORD = "admin12345" settings.DJANGO_SUPERUSER_EMAIL = "admin@example.com" call_command("bootstrap_governance") call_command("bootstrap_governance") user = get_user_model().objects.get(username="admin") assert user.is_superuser is True assert user.check_password("admin12345") assert Group.objects.filter(name="系统管理员").exists() assert Permission.objects.filter(codename="system.user.manage").exists() assert UserGroup.objects.filter(code="default").exists() assert MenuItem.objects.filter(code="system.users", title="用户管理").exists() assert MenuItem.objects.filter(code="system.roles", permission_code="system.role.view").exists()