test: has_course_author_access correctness
This commit is contained in:
@@ -11,7 +11,12 @@ from edx_toggles.toggles.testutils import override_waffle_flag
|
||||
|
||||
from common.djangoapps.course_modes.models import CourseMode
|
||||
from common.djangoapps.student.models import CourseEnrollment
|
||||
from common.djangoapps.student.roles import CourseInstructorRole
|
||||
from common.djangoapps.student.roles import (
|
||||
CourseBetaTesterRole,
|
||||
CourseInstructorRole,
|
||||
CourseLimitedStaffRole,
|
||||
CourseStaffRole
|
||||
)
|
||||
from common.djangoapps.student.tests.factories import UserFactory
|
||||
from lms.djangoapps.course_home_api.tests.utils import BaseCourseHomeTests
|
||||
from lms.djangoapps.courseware.toggles import (
|
||||
@@ -247,3 +252,32 @@ class CourseHomeMetadataTests(BaseCourseHomeTests):
|
||||
assert 'discussion' in tab_ids
|
||||
else:
|
||||
assert 'discussion' not in tab_ids
|
||||
|
||||
@ddt.data(
|
||||
{
|
||||
'course_team_role': None,
|
||||
'has_course_author_access': False
|
||||
},
|
||||
{
|
||||
'course_team_role': CourseBetaTesterRole,
|
||||
'has_course_author_access': False
|
||||
},
|
||||
{
|
||||
'course_team_role': CourseStaffRole,
|
||||
'has_course_author_access': True
|
||||
},
|
||||
{
|
||||
'course_team_role': CourseLimitedStaffRole,
|
||||
'has_course_author_access': False
|
||||
},
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_has_course_author_access_for_staff_roles(self, course_team_role, has_course_author_access):
|
||||
CourseEnrollment.enroll(self.user, self.course.id, CourseMode.VERIFIED)
|
||||
|
||||
if course_team_role:
|
||||
course_team_role(self.course.id).add_users(self.user)
|
||||
|
||||
response = self.client.get(self.url)
|
||||
assert response.status_code == 200
|
||||
assert response.data['has_course_author_access'] == has_course_author_access
|
||||
|
||||
Reference in New Issue
Block a user