test_access.py 1.65 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
"""
Tests access.py
"""
from django.test import TestCase
from django.contrib.auth.models import User

from student.roles import CourseInstructorRole, CourseStaffRole
from student.tests.factories import AdminFactory
from student.auth import add_users
from contentstore.views.access import get_user_role
11
from opaque_keys.edx.locations import SlashSeparatedCourseKey
12

cahrens committed
13

14 15
class RolesTest(TestCase):
    """
16
    Tests for lti user role serialization.
17 18 19
    """
    def setUp(self):
        """ Test case setup """
20 21
        super(RolesTest, self).setUp()

22 23 24
        self.global_admin = AdminFactory()
        self.instructor = User.objects.create_user('testinstructor', 'testinstructor+courses@edx.org', 'foo')
        self.staff = User.objects.create_user('teststaff', 'teststaff+courses@edx.org', 'foo')
25
        self.course_key = SlashSeparatedCourseKey('mitX', '101', 'test')
26 27 28 29 30

    def test_get_user_role_instructor(self):
        """
        Verifies if user is instructor.
        """
31
        add_users(self.global_admin, CourseInstructorRole(self.course_key), self.instructor)
32 33
        self.assertEqual(
            'instructor',
34
            get_user_role(self.instructor, self.course_key)
35
        )
36
        add_users(self.global_admin, CourseStaffRole(self.course_key), self.staff)
37 38
        self.assertEqual(
            'instructor',
39
            get_user_role(self.instructor, self.course_key)
40 41
        )

42 43 44 45
    def test_get_user_role_staff(self):
        """
        Verifies if user is staff.
        """
46
        add_users(self.global_admin, CourseStaffRole(self.course_key), self.staff)
47 48
        self.assertEqual(
            'staff',
49
            get_user_role(self.staff, self.course_key)
50
        )