def test_get_course_enrollment(self, course_modes, enrollment_mode): self._create_course_modes(course_modes) # Try to get an enrollment before it exists. result = data.get_course_enrollment(self.user.username, unicode(self.course.id)) self.assertIsNone(result) # Create the original enrollment. enrollment = data.create_course_enrollment(self.user.username, unicode(self.course.id), enrollment_mode, True) # Get the enrollment and compare it to the original. result = data.get_course_enrollment(self.user.username, unicode(self.course.id)) self.assertEqual(self.user.username, result["user"]) self.assertEqual(enrollment, result)
def _get_single_user_grade(self, request, course_key): """ Returns a grade response for the user object corresponding to the request's 'username' parameter, or the current request.user if no 'username' was provided. Args: request (Request): django request object to check for username or request.user object course_key (CourseLocator): The course to retrieve user grades for. Returns: A serializable list of grade responses """ if 'username' in request.GET: username = request.GET.get('username') else: username = request.user.username grade_user = USER_MODEL.objects.get(username=username) if not enrollment_data.get_course_enrollment(username, str(course_key)): raise CourseEnrollment.DoesNotExist course_grade = CourseGradeFactory().read(grade_user, course_key=course_key) return Response( [self._make_grade_response(grade_user, course_key, course_grade)])
def _get_single_user(self, request, course_key): """ Returns a single USER_MODEL object corresponding to the request's `username` parameter, or the current `request.user` if no `username` was provided. Args: request (Request): django request object to check for username or request.user object course_key (CourseLocator): The course to retrieve user grades for. Returns: A USER_MODEL object. Raises: USER_MODEL.DoesNotExist if no such user exists. CourseEnrollment.DoesNotExist if the user is not enrolled in the given course. """ if 'username' in request.GET: username = request.GET.get('username') else: username = request.user.username grade_user = USER_MODEL.objects.get(username=username) if not enrollment_data.get_course_enrollment(username, text_type(course_key)): raise CourseEnrollment.DoesNotExist return grade_user
def test_get_course_enrollment(self, course_modes, enrollment_mode): self._create_course_modes(course_modes) # Try to get an enrollment before it exists. result = data.get_course_enrollment(self.user.username, unicode(self.course.id)) self.assertIsNone(result) # Create the original enrollment. enrollment = data.create_course_enrollment(self.user.username, unicode(self.course.id), enrollment_mode, True) # Get the enrollment and compare it to the original. result = data.get_course_enrollment(self.user.username, unicode(self.course.id)) self.assertEqual(self.user.username, result['user']) self.assertEqual(enrollment, result)
def _get_single_user_grade(self, request, course_key): """ Returns a grade response for the user object corresponding to the request's 'username' parameter, or the current request.user if no 'username' was provided. Args: request (Request): django request object to check for username or request.user object course_key (CourseLocator): The course to retrieve user grades for. Returns: A serializable list of grade responses """ if 'username' in request.GET: username = request.GET.get('username') else: username = request.user.username grade_user = USER_MODEL.objects.get(username=username) if not enrollment_data.get_course_enrollment(username, str(course_key)): raise CourseEnrollment.DoesNotExist course_grade = CourseGradeFactory().read(grade_user, course_key=course_key) return Response([self._make_grade_response(grade_user, course_key, course_grade)])
def _get_single_user_badge_progress(self, course_key, username=None): """ """ progress_response = [] if not username: return progress_response # if 'username' in request.GET: # username = request.GET.get('username') # else: # username = request.user.username if not enrollment_data.get_course_enrollment(username, str(course_key)): raise CourseEnrollment.DoesNotExist progress_user = USER_MODEL.objects.get(username=username) # Traverse through all course chapter blocks and check to see if a user has a badge assertion. for block_event_badge_config in BlockEventBadgesConfiguration.config_for_block_event( course_id=course_key, event_type='chapter_complete'): block_event_assertion = None if block_event_badge_config.badge_class: user_course_assertions = BadgeAssertion.assertions_for_user( progress_user, course_id=course_key) for assertion in user_course_assertions: if assertion.badge_class == block_event_badge_config.badge_class: block_event_assertion = assertion pass progress_response.append( self._make_badge_progress_response(course_key, block_event_badge_config, block_event_assertion)) return progress_response