Пример #1
0
    def test_min_grade_requirement_with_valid_grade(self, grade_achieved, due_date):
        """Test with valid grades. Deadline date does not effect in case
        of valid grade.
        """

        listen_for_grade_calculation(None, self.user.username, {'percent': grade_achieved}, self.course.id, due_date)
        req_status = get_credit_requirement_status(self.course.id, self.request.user.username, 'grade', 'grade')
        self.assertEqual(req_status[0]["status"], 'satisfied')
Пример #2
0
    def test_min_grade_requirement_with_valid_grade(self, grade_achieved, due_date):
        """Test with valid grades. Deadline date does not effect in case
        of valid grade.
        """

        listen_for_grade_calculation(None, self.user.username, {'percent': grade_achieved}, self.course.id, due_date)
        req_status = get_credit_requirement_status(self.course.id, self.request.user.username, 'grade', 'grade')
        self.assertEqual(req_status[0]["status"], 'satisfied')
Пример #3
0
    def assert_requirement_status(self, grade, due_date, expected_status):
        """ Verify the user's credit requirement status is as expected after simulating a grading calculation. """
        listen_for_grade_calculation(None, self.user.username, {'percent': grade}, self.course.id, due_date)
        req_status = get_credit_requirement_status(self.course.id, self.request.user.username, 'grade', 'grade')

        self.assertEqual(req_status[0]['status'], expected_status)

        if expected_status == 'satisfied':
            expected_reason = {'final_grade': grade}
            self.assertEqual(req_status[0]['reason'], expected_reason)
Пример #4
0
    def test_min_grade_requirement_failed_grade_expired_deadline(self):
        """Test with failed grades and deadline expire"""

        listen_for_grade_calculation(None, self.user.username,
                                     {'percent': 0.22}, self.course.id,
                                     self.EXPIRED_DUE_DATE)
        req_status = get_credit_requirement_status(self.course.id,
                                                   self.request.user.username,
                                                   'grade', 'grade')
        self.assertEqual(req_status[0]["status"], 'failed')
Пример #5
0
    def test_min_grade_requirement_failed_grade_valid_deadline(
            self, grade_achieved, due_date):
        """Test with failed grades and deadline is still open or not defined."""

        listen_for_grade_calculation(None, self.user.username,
                                     {'percent': grade_achieved},
                                     self.course.id, due_date)
        req_status = get_credit_requirement_status(self.course.id,
                                                   self.request.user.username,
                                                   'grade', 'grade')
        self.assertEqual(req_status[0]["status"], None)
Пример #6
0
    def assert_requirement_status(self, grade, due_date, expected_status):
        """ Verify the user's credit requirement status is as expected after simulating a grading calculation. """
        course_grade = MagicMock()
        course_grade.percent = grade
        listen_for_grade_calculation(None, self.user, course_grade, self.course.id, due_date)
        req_status = get_credit_requirement_status(self.course.id, self.request.user.username, 'grade', 'grade')

        self.assertEqual(req_status[0]['status'], expected_status)

        if expected_status == 'satisfied':
            expected_reason = {'final_grade': grade}
            self.assertEqual(req_status[0]['reason'], expected_reason)
Пример #7
0
    def test_min_grade_requirement_failed_grade_expired_deadline(self):
        """Test with failed grades and deadline expire"""

        listen_for_grade_calculation(None, self.user.username, {'percent': 0.22}, self.course.id, self.EXPIRED_DUE_DATE)
        req_status = get_credit_requirement_status(self.course.id, self.request.user.username, 'grade', 'grade')
        self.assertEqual(req_status[0]["status"], 'failed')
Пример #8
0
    def test_min_grade_requirement_failed_grade_valid_deadline(self, grade_achieved, due_date):
        """Test with failed grades and deadline is still open or not defined."""

        listen_for_grade_calculation(None, self.user.username, {'percent': grade_achieved}, self.course.id, due_date)
        req_status = get_credit_requirement_status(self.course.id, self.request.user.username, 'grade', 'grade')
        self.assertEqual(req_status[0]["status"], None)