Files
2026-09-24 12:32:59 +03:30

24 lines
849 B
Python

from django.contrib.auth import get_user_model
from django.test import TestCase
from apps.rbac.models import Permission, Role
from apps.rbac.permissions import has_perm
User = get_user_model()
class RbacTests(TestCase):
def test_has_perm_grants_and_denies(self):
user = User.objects.create_user(username="op", password="x")
perm = Permission.objects.create(code="processing.start")
role = Role.objects.create(name="Operator", slug="operator")
role.permissions.add(perm)
user.user_roles.create(role=role)
self.assertTrue(has_perm(user, "processing.start"))
self.assertFalse(has_perm(user, "workflow.publish"))
def test_superuser_has_all(self):
user = User.objects.create_superuser(username="admin", password="x")
self.assertTrue(has_perm(user, "anything.at.all"))