def test_multiple_refunds_dashbaord_page_error(self): """ Order with mutiple refunds will not throw 500 error when dashboard page will access.""" now = datetime.now(pytz.UTC).replace(microsecond=0) order_date = now + timedelta(days=1) expected_content = '{{"date_placed": "{date}"}}'.format(date=order_date.strftime(ECOMMERCE_DATE_FORMAT)) httpretty.register_uri( httpretty.GET, '{url}/orders/{order}/'.format(url=TEST_API_URL, order=self.ORDER_NUMBER), status=200, body=expected_content, adding_headers={'Content-Type': JSON} ) # creating multiple attributes for same order. for attribute_count in range(2): # pylint: disable=unused-variable self.enrollment.attributes.add(CourseEnrollmentAttribute( enrollment=self.enrollment, namespace='order', name='order_number', value=self.ORDER_NUMBER )) self.client.login(username=self.user.username, password=self.USER_PASSWORD) resp = self.client.post(reverse('student.views.dashboard', args=[])) self.assertEqual(resp.status_code, 200)
def test_refund_cutoff_date(self, order_date_delta, course_start_delta, expected_date_delta, days): """ Assert that the later date is used with the configurable refund period in calculating the returned cutoff date. """ now = datetime.now(pytz.UTC).replace(microsecond=0) order_date = now + order_date_delta course_start = now + course_start_delta expected_date = now + expected_date_delta refund_period = timedelta(days=days) expected_content = '{{"date_placed": "{date}"}}'.format(date=order_date.strftime(ECOMMERCE_DATE_FORMAT)) httpretty.register_uri( httpretty.GET, '{url}/orders/{order}/'.format(url=TEST_API_URL, order=self.ORDER_NUMBER), status=200, body=expected_content, adding_headers={'Content-Type': JSON} ) self.enrollment.course_overview.start = course_start self.enrollment.attributes.add(CourseEnrollmentAttribute( enrollment=self.enrollment, namespace='order', name='order_number', value=self.ORDER_NUMBER )) with patch('student.models.EnrollmentRefundConfiguration.current') as config: instance = config.return_value instance.refund_window = refund_period self.assertEqual( self.enrollment.refund_cutoff_date(), expected_date + refund_period )