def test_transcript_delete_handler(self, is_staff, is_course_staff): """ Tests that transcript delete handler works as expected with combinations of staff and course's staff. """ # Setup user's roles self.user.is_staff = is_staff self.user.save() course_staff_role = CourseStaffRole(self.course.id) if is_course_staff: course_staff_role.add_users(self.user) else: course_staff_role.remove_users(self.user) # Assert the user role self.assertEqual(self.user.is_staff, is_staff) self.assertEqual( CourseStaffRole(self.course.id).has_user(self.user), is_course_staff) video_id, language_code = u'1234', u'en' # Create a real transcript in VAL. api.create_or_update_video_transcript(video_id=video_id, language_code=language_code, metadata={'file_format': 'srt'}) # Make request to transcript deletion handler response = self.client.delete( self.get_url_for_course_key(self.course.id, edx_video_id=video_id, language_code=language_code)) self.assertEqual(response.status_code, 200) self.assertFalse( api.get_video_transcript_data(video_id=video_id, language_code=language_code))
def remove_all_instructors(course_key): """ Removes all instructor and staff users from the given course. """ staff_role = CourseStaffRole(course_key) staff_role.remove_users(*staff_role.users_with_role()) instructor_role = CourseInstructorRole(course_key) instructor_role.remove_users(*instructor_role.users_with_role())
def test_add_users_doesnt_add_duplicate_entry(self): """ Tests that calling add_users multiple times before a single call to remove_users does not result in the user remaining in the group. """ role = CourseStaffRole(self.course_key) role.add_users(self.student) assert role.has_user(self.student) # Call add_users a second time, then remove just once. role.add_users(self.student) role.remove_users(self.student) assert not role.has_user(self.student)