Beispiel #1
0
    def assert_update_enrollment(self, search_string_type, new_mode):
        """ Dry method to update the enrollment and assert response."""
        self.assertIsNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
        url = reverse(
            'support:enrollment_list',
            kwargs={'username_or_email': getattr(self.student, search_string_type)}
        )

        with patch('support.views.enrollments.get_credit_provider_attribute_values') as mock_method:
            credit_provider = (
                [u'Arizona State University'], 'You are now eligible for credit from Arizona State University'
            )
            mock_method.return_value = credit_provider
            response = self.client.post(url, data={
                'course_id': six.text_type(self.course.id),
                'old_mode': CourseMode.AUDIT,
                'new_mode': new_mode,
                'reason': 'Financial Assistance'
            })

        self.assertEqual(response.status_code, 200)
        self.assertIsNotNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
        self.assert_enrollment(new_mode)
        if new_mode == 'credit':
            enrollment_attr = CourseEnrollmentAttribute.objects.first()
            self.assertEqual(enrollment_attr.value, six.text_type(credit_provider[0]))
Beispiel #2
0
 def assert_update_enrollment(self, search_string_type, new_mode):
     """ Dry method to update the enrollment and assert response."""
     self.assertIsNone(
         ManualEnrollmentAudit.get_manual_enrollment_by_email(
             self.student.email))
     url = reverse('support:enrollment_list',
                   kwargs={
                       'username_or_email':
                       getattr(self.student, search_string_type)
                   })
     response = self.client.post(
         url,
         data={
             'course_id': unicode(self.course.id),  # pylint: disable=no-member
             'old_mode': CourseMode.AUDIT,
             'new_mode': new_mode,
             'reason': 'Financial Assistance'
         })
     # Enrollment cannot be changed to credit mode.
     if new_mode == CourseMode.CREDIT_MODE:
         self.assertEqual(response.status_code, 400)
     else:
         self.assertEqual(response.status_code, 200)
         self.assertIsNotNone(
             ManualEnrollmentAudit.get_manual_enrollment_by_email(
                 self.student.email))
         self.assert_enrollment(new_mode)
 def test_change_enrollment(self):
     self.assertIsNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
     response = self.client.post(self.url, data={
         'course_id': unicode(self.course.id),  # pylint: disable=no-member
         'old_mode': CourseMode.AUDIT,
         'new_mode': CourseMode.VERIFIED,
         'reason': 'Financial Assistance'
     })
     self.assertEqual(response.status_code, 200)
     self.assertIsNotNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
     self.assert_enrollment(CourseMode.VERIFIED)
Beispiel #4
0
 def test_change_enrollment(self, search_string_type):
     self.assertIsNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
     url = reverse(
         'support:enrollment_list',
         kwargs={'username_or_email': getattr(self.student, search_string_type)}
     )
     response = self.client.post(url, data={
         'course_id': unicode(self.course.id),  # pylint: disable=no-member
         'old_mode': CourseMode.AUDIT,
         'new_mode': CourseMode.VERIFIED,
         'reason': 'Financial Assistance'
     })
     self.assertEqual(response.status_code, 200)
     self.assertIsNotNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
     self.assert_enrollment(CourseMode.VERIFIED)
Beispiel #5
0
 def test_change_enrollment(self, search_string_type):
     self.assertIsNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
     url = reverse(
         'support:enrollment_list',
         kwargs={'username_or_email': getattr(self.student, search_string_type)}
     )
     response = self.client.post(url, data={
         'course_id': unicode(self.course.id),  # pylint: disable=no-member
         'old_mode': CourseMode.AUDIT,
         'new_mode': CourseMode.VERIFIED,
         'reason': 'Financial Assistance'
     })
     self.assertEqual(response.status_code, 200)
     self.assertIsNotNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
     self.assert_enrollment(CourseMode.VERIFIED)
Beispiel #6
0
 def test_update_enrollments_with_expired_mode(self, search_string_type):
     """ Verify that enrollment can be updated to verified mode. """
     self.set_course_end_date_and_expiry()
     self.assertIsNone(
         ManualEnrollmentAudit.get_manual_enrollment_by_email(
             self.student.email))
     self.assert_update_enrollment(search_string_type, CourseMode.VERIFIED)
Beispiel #7
0
 def test_change_enrollment(self):
     self.assertIsNone(
         ManualEnrollmentAudit.get_manual_enrollment_by_email(
             self.student.email))
     response = self.client.post(
         self.url,
         data={
             'course_id': unicode(self.course.id),  # pylint: disable=no-member
             'old_mode': CourseMode.AUDIT,
             'new_mode': CourseMode.VERIFIED,
             'reason': 'Financial Assistance'
         })
     self.assertEqual(response.status_code, 200)
     self.assertIsNotNone(
         ManualEnrollmentAudit.get_manual_enrollment_by_email(
             self.student.email))
     self.assert_enrollment(CourseMode.VERIFIED)
Beispiel #8
0
 def test_change_enrollment_bad_data(self, data, error_message):
     # `self` isn't available from within the DDT declaration, so
     # assign the course ID here
     if 'course_id' in data and data['course_id'] is None:
         data['course_id'] = unicode(self.course.id)  # pylint: disable=no-member
     response = self.client.post(self.url, data)
     self.assertEqual(response.status_code, 400)
     self.assertIsNotNone(re.match(error_message, response.content))
     self.assert_enrollment(CourseMode.AUDIT)
     self.assertIsNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
Beispiel #9
0
 def test_change_enrollment_bad_data(self, data, error_message):
     # `self` isn't available from within the DDT declaration, so
     # assign the course ID here
     if 'course_id' in data and data['course_id'] is None:
         data['course_id'] = unicode(self.course.id)  # pylint: disable=no-member
     response = self.client.post(self.url, data)
     self.assertEqual(response.status_code, 400)
     self.assertIsNotNone(re.match(error_message, response.content))
     self.assert_enrollment(CourseMode.AUDIT)
     self.assertIsNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
Beispiel #10
0
 def assert_update_enrollment(self, search_string_type, new_mode):
     """ Dry method to update the enrollment and assert response."""
     self.assertIsNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
     url = reverse(
         'support:enrollment_list',
         kwargs={'username_or_email': getattr(self.student, search_string_type)}
     )
     response = self.client.post(url, data={
         'course_id': unicode(self.course.id),  # pylint: disable=no-member
         'old_mode': CourseMode.AUDIT,
         'new_mode': new_mode,
         'reason': 'Financial Assistance'
     })
     # Enrollment cannot be changed to credit mode.
     if new_mode == CourseMode.CREDIT_MODE:
         self.assertEqual(response.status_code, 400)
     else:
         self.assertEqual(response.status_code, 200)
         self.assertIsNotNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
         self.assert_enrollment(new_mode)
Beispiel #11
0
 def test_update_enrollments_with_expired_mode(self, search_string_type):
     """ Verify that enrollment can be updated to verified mode. """
     self.set_course_end_date_and_expiry()
     self.assertIsNone(ManualEnrollmentAudit.get_manual_enrollment_by_email(self.student.email))
     self.assert_update_enrollment(search_string_type, CourseMode.VERIFIED)