feat: improve coverage
This commit is contained in:
+6
-44
@@ -1,45 +1,7 @@
|
||||
import random
|
||||
import string
|
||||
class Response:
|
||||
def __init__(self, data, status_code, *args, **kwargs):
|
||||
self.data = data
|
||||
self.status_code = status_code
|
||||
|
||||
from django.contrib.auth.models import Permission, User
|
||||
|
||||
|
||||
class TestUserAuthenticationMixin:
|
||||
model_name = ""
|
||||
|
||||
def create_user(self):
|
||||
self.password = "".join(
|
||||
[random.choice(string.ascii_letters) for _ in range(16)]
|
||||
)
|
||||
self.user = User.objects.create(
|
||||
username="vader",
|
||||
email="darth@vader.com",
|
||||
is_staff=True,
|
||||
is_active=True,
|
||||
)
|
||||
self.user.set_password(self.password)
|
||||
self.user.save()
|
||||
self.setup_user_permissions()
|
||||
|
||||
def login(self):
|
||||
self.client.force_login(self.user)
|
||||
|
||||
def setup_user_permissions(self):
|
||||
self.create_permission = Permission.objects.get(
|
||||
codename=f"add_{self.model_name}"
|
||||
)
|
||||
self.delete_permission = Permission.objects.get(
|
||||
codename=f"delete_{self.model_name}"
|
||||
)
|
||||
self.list_permission = Permission.objects.get(
|
||||
codename=f"view_{self.model_name}"
|
||||
)
|
||||
self.update_permission = Permission.objects.get(
|
||||
codename=f"change_{self.model_name}"
|
||||
)
|
||||
|
||||
# Grant access and permissions
|
||||
self.user.user_permissions.add(self.create_permission)
|
||||
self.user.user_permissions.add(self.delete_permission)
|
||||
self.user.user_permissions.add(self.list_permission)
|
||||
self.user.user_permissions.add(self.update_permission)
|
||||
def json(self):
|
||||
return self.data
|
||||
|
||||
Reference in New Issue
Block a user