feat(backend): added auth, reviews, users modules
also provided tests
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
import uuid
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
from apps.users.models import User, UserRole
|
||||
|
||||
from ._helpers import _make_user
|
||||
|
||||
|
||||
class UserRoleChoicesTest(TestCase):
|
||||
def test_choices_count(self) -> None:
|
||||
self.assertEqual(len(UserRole.choices), 4)
|
||||
|
||||
def test_choice_values(self) -> None:
|
||||
values = {c[0] for c in UserRole.choices}
|
||||
self.assertEqual(
|
||||
values, {"admin", "experimenter", "approver", "viewer"}
|
||||
)
|
||||
|
||||
|
||||
class UserModelTest(TestCase):
|
||||
def test_default_role_is_viewer(self) -> None:
|
||||
user: User = _make_user()
|
||||
self.assertEqual(user.role, UserRole.VIEWER)
|
||||
|
||||
def test_role_properties(self) -> None:
|
||||
admin: User = _make_user(
|
||||
username="a", email="a@x.com", role=UserRole.ADMIN
|
||||
)
|
||||
self.assertTrue(admin.is_admin_role)
|
||||
self.assertFalse(admin.is_experimenter)
|
||||
self.assertFalse(admin.is_approver)
|
||||
self.assertFalse(admin.is_viewer)
|
||||
|
||||
exp: User = _make_user(
|
||||
username="e", email="e@x.com", role=UserRole.EXPERIMENTER
|
||||
)
|
||||
self.assertTrue(exp.is_experimenter)
|
||||
|
||||
appr: User = _make_user(
|
||||
username="ap", email="ap@x.com", role=UserRole.APPROVER
|
||||
)
|
||||
self.assertTrue(appr.is_approver)
|
||||
|
||||
viewer: User = _make_user(
|
||||
username="v", email="v@x.com", role=UserRole.VIEWER
|
||||
)
|
||||
self.assertTrue(viewer.is_viewer)
|
||||
|
||||
def test_uuid_primary_key(self) -> None:
|
||||
user: User = _make_user()
|
||||
self.assertIsInstance(user.pk, uuid.UUID)
|
||||
|
||||
def test_str_representation(self) -> None:
|
||||
user: User = _make_user(username="hello")
|
||||
self.assertEqual(str(user), "hello")
|
||||
Reference in New Issue
Block a user