Exemplo n.º 1
0
    def test_refund_cert_callback_after_expiration(self):
        # If the expiration date has passed, the user cannot get a refund
        course_id = "refund_after_expiration/test/two"
        many_days = datetime.timedelta(days=60)

        CourseFactory.create(org='refund_after_expiration',
                             number='test',
                             run='course',
                             display_name='two')
        course_mode = CourseMode(
            course_id=course_id,
            mode_slug="verified",
            mode_display_name="verified cert",
            min_price=self.cost,
        )
        course_mode.save()

        CourseEnrollment.enroll(self.user, course_id, 'verified')
        cart = Order.get_cart_for_user(user=self.user)
        CertificateItem.add_to_order(cart, course_id, self.cost, 'verified')
        cart.purchase()

        course_mode.expiration_date = (datetime.datetime.now(pytz.utc).date() -
                                       many_days)
        course_mode.save()

        CourseEnrollment.unenroll(self.user, course_id)
        target_certs = CertificateItem.objects.filter(course_id=course_id,
                                                      user_id=self.user,
                                                      status='refunded',
                                                      mode='verified')
        self.assertEqual(len(target_certs), 0)
Exemplo n.º 2
0
    def test_refund_cert_callback_after_expiration(self):
        # If the expiration date has passed, the user cannot get a refund
        course_id = "refund_after_expiration/test/two"
        many_days = datetime.timedelta(days=60)

        CourseFactory.create(org='refund_after_expiration', number='test', run='course', display_name='two')
        course_mode = CourseMode(course_id=course_id,
                                 mode_slug="verified",
                                 mode_display_name="verified cert",
                                 min_price=self.cost,)
        course_mode.save()

        CourseEnrollment.enroll(self.user, course_id, 'verified')
        cart = Order.get_cart_for_user(user=self.user)
        CertificateItem.add_to_order(cart, course_id, self.cost, 'verified')
        cart.purchase()

        course_mode.expiration_date = (datetime.datetime.now(pytz.utc).date() - many_days)
        course_mode.save()

        CourseEnrollment.unenroll(self.user, course_id)
        target_certs = CertificateItem.objects.filter(course_id=course_id, user_id=self.user, status='refunded', mode='verified')
        self.assertEqual(len(target_certs), 0)