-
Dominik Seeger authored
blub
Dominik Seeger authoredblub
test_functional_views.py 1.47 KiB
from django.urls import reverse
from rest_framework.test import (APIRequestFactory, APITestCase,
force_authenticate)
from core.views import get_user_role
from util.factories import GradyUserFactory, make_exams
class GetUserRoleTest(APITestCase):
@classmethod
def setUpTestData(cls):
cls.factory = APIRequestFactory()
cls.user_factory = GradyUserFactory()
cls.exam = make_exams(exams=[{
'module_reference': 'Test Exam 01',
'total_score': 100,
'pass_score': 60,
}])[0]
cls.student = cls.user_factory.make_student(exam=cls.exam)
cls.tutor = cls.user_factory.make_tutor()
cls.reviewer = cls.user_factory.make_reviewer()
def setUp(self):
self.request = self.factory.get(reverse('user-role'))
def test_get_user_model_returns_student(self):
force_authenticate(self.request, user=self.student)
response = get_user_role(self.request)
self.assertEqual(response.data['role'], 'Student')
def test_get_user_model_returns_tutor(self):
force_authenticate(self.request, user=self.tutor)
response = get_user_role(self.request)
self.assertEqual(response.data['role'], 'Tutor')
def test_get_user_model_returns_reviewer(self):
force_authenticate(self.request, user=self.reviewer)
response = get_user_role(self.request)
self.assertEqual(response.data['role'], 'Reviewer')