def test_entrance_exam_score(self): """ test entrance exam score. we will hit the method get_entrance_exam_score to verify exam score. """ exam_score = get_entrance_exam_score(self.request, self.course) self.assertEqual(exam_score, 0) answer_entrance_exam_problem(self.course, self.request, self.problem_1) answer_entrance_exam_problem(self.course, self.request, self.problem_2) exam_score = get_entrance_exam_score(self.request, self.course) # 50 percent exam score should be achieved. self.assertGreater(exam_score * 100, 50)
def test_entrance_exam_score(self): """ test entrance exam score. we will hit the method get_entrance_exam_score to verify exam score. """ exam_score = get_entrance_exam_score(self.request, self.course) self.assertEqual(exam_score, 0) answer_entrance_exam_problem(self.course, self.request, self.problem_1) answer_entrance_exam_problem(self.course, self.request, self.problem_2) exam_score = get_entrance_exam_score(self.request, self.course) # 50 percent exam score should be achieved. self.assertGreater(exam_score * 100, 50)
def _fulfill_content_milestones(user, course_key, content_key): """ Internal helper to handle milestone fulfillments for the specified content module """ # Fulfillment Use Case: Entrance Exam # If this module is part of an entrance exam, we'll need to see if the student # has reached the point at which they can collect the associated milestone if settings.FEATURES.get('ENTRANCE_EXAMS', False): course = modulestore().get_course(course_key) content = modulestore().get_item(content_key) entrance_exam_enabled = getattr(course, 'entrance_exam_enabled', False) in_entrance_exam = getattr(content, 'in_entrance_exam', False) if entrance_exam_enabled and in_entrance_exam: # We don't have access to the true request object in this context, but we can use a mock request = RequestFactory().request() request.user = user exam_pct = get_entrance_exam_score(request, course) if exam_pct >= course.entrance_exam_minimum_score_pct: exam_key = UsageKey.from_string(course.entrance_exam_id) relationship_types = milestones_helpers.get_milestone_relationship_types() content_milestones = milestones_helpers.get_course_content_milestones( course_key, exam_key, relationship=relationship_types['FULFILLS'] ) # Add each milestone to the user's set... user = {'id': request.user.id} for milestone in content_milestones: milestones_helpers.add_user_milestone(user, milestone)
def test_entrance_exam_score(self): """ test entrance exam score. we will hit the method get_entrance_exam_score to verify exam score. """ # One query is for getting the list of disabled XBlocks (which is # then stored in the request). with self.assertNumQueries(2): exam_score = get_entrance_exam_score(self.request, self.course) self.assertEqual(exam_score, 0) answer_entrance_exam_problem(self.course, self.request, self.problem_1) answer_entrance_exam_problem(self.course, self.request, self.problem_2) with self.assertNumQueries(1): exam_score = get_entrance_exam_score(self.request, self.course) # 50 percent exam score should be achieved. self.assertGreater(exam_score * 100, 50)
def test_entrance_exam_score(self): """ test entrance exam score. we will hit the method get_entrance_exam_score to verify exam score. """ # One query is for getting the list of disabled XBlocks (which is # then stored in the request). with self.assertNumQueries(2): exam_score = get_entrance_exam_score(self.request, self.course) self.assertEqual(exam_score, 0) answer_entrance_exam_problem(self.course, self.request, self.problem_1) answer_entrance_exam_problem(self.course, self.request, self.problem_2) with self.assertNumQueries(1): exam_score = get_entrance_exam_score(self.request, self.course) # 50 percent exam score should be achieved. self.assertGreater(exam_score * 100, 50)
def test_entrance_exam_score(self): """ test entrance exam score. we will hit the method get_entrance_exam_score to verify exam score. """ exam_score = get_entrance_exam_score(self.request, self.course) self.assertEqual(exam_score, 0) # Pass the entrance exam # pylint: disable=maybe-no-member,no-member grade_dict = { 'value': 1, 'max_value': 1, 'user_id': self.request.user.id } field_data_cache = FieldDataCache.cache_for_descriptor_descendents( self.course.id, self.request.user, self.course, depth=2) # pylint: disable=protected-access module = get_module( self.request.user, self.request, self.problem_1.scope_ids.usage_id, field_data_cache, )._xmodule module.system.publish(self.problem_1, 'grade', grade_dict) # pylint: disable=protected-access module = get_module( self.request.user, self.request, self.problem_2.scope_ids.usage_id, field_data_cache, )._xmodule module.system.publish(self.problem_2, 'grade', grade_dict) exam_score = get_entrance_exam_score(self.request, self.course) # 50 percent exam score should be achieved. self.assertGreater(exam_score * 100, 50)
def test_entrance_exam_score(self): """ test entrance exam score. we will hit the method get_entrance_exam_score to verify exam score. """ exam_score = get_entrance_exam_score(self.request, self.course) self.assertEqual(exam_score, 0) # Pass the entrance exam # pylint: disable=maybe-no-member,no-member grade_dict = {'value': 1, 'max_value': 1, 'user_id': self.request.user.id} field_data_cache = FieldDataCache.cache_for_descriptor_descendents( self.course.id, self.request.user, self.course, depth=2 ) # pylint: disable=protected-access module = get_module( self.request.user, self.request, self.problem_1.scope_ids.usage_id, field_data_cache, )._xmodule module.system.publish(self.problem_1, 'grade', grade_dict) # pylint: disable=protected-access module = get_module( self.request.user, self.request, self.problem_2.scope_ids.usage_id, field_data_cache, )._xmodule module.system.publish(self.problem_2, 'grade', grade_dict) exam_score = get_entrance_exam_score(self.request, self.course) # 50 percent exam score should be achieved. self.assertGreater(exam_score * 100, 50)