示例#1
0
    def test_get_entrance_exam_content(self):
        """
        test get entrance exam content method
        """
        exam_chapter = get_entrance_exam_content(self.request.user, self.course)
        self.assertEqual(exam_chapter.url_name, self.entrance_exam.url_name)
        self.assertFalse(user_has_passed_entrance_exam(self.request, self.course))

        answer_entrance_exam_problem(self.course, self.request, self.problem_1)
        answer_entrance_exam_problem(self.course, self.request, self.problem_2)

        exam_chapter = get_entrance_exam_content(self.request.user, self.course)
        self.assertEqual(exam_chapter, None)
        self.assertTrue(user_has_passed_entrance_exam(self.request, self.course))
    def test_get_entrance_exam_content(self):
        """
        test get entrance exam content method
        """
        exam_chapter = get_entrance_exam_content(self.request, self.course)
        if settings.FEATURES.get('ENTRANCE_EXAMS', False):
            self.assertEqual(exam_chapter.url_name,
                             self.entrance_exam.url_name)
            self.assertFalse(
                user_has_passed_entrance_exam(self.request, self.course))

            # 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_chapter = get_entrance_exam_content(self.request, self.course)
            self.assertEqual(exam_chapter, None)
            self.assertTrue(
                user_has_passed_entrance_exam(self.request, self.course))
示例#3
0
 def _reset_section_to_exam_if_required(self):
     """
     Check to see if an Entrance Exam is required for the user.
     """
     if not user_can_skip_entrance_exam(self.effective_user, self.course):
         exam_chapter = get_entrance_exam_content(self.effective_user,
                                                  self.course)
         if exam_chapter and exam_chapter.get_children():
             exam_section = exam_chapter.get_children()[0]
             if exam_section:
                 self.chapter_url_name = exam_chapter.url_name
                 self.section_url_name = exam_section.url_name
    def test_get_entrance_exam_content(self):
        """
        test get entrance exam content method
        """
        exam_chapter = get_entrance_exam_content(self.request, self.course)
        if settings.FEATURES.get('ENTRANCE_EXAMS', False):
            self.assertEqual(exam_chapter.url_name, self.entrance_exam.url_name)
            self.assertFalse(user_has_passed_entrance_exam(self.request, self.course))

            # 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_chapter = get_entrance_exam_content(self.request, self.course)
            self.assertEqual(exam_chapter, None)
            self.assertTrue(user_has_passed_entrance_exam(self.request, self.course))