Commit c714e08c by Ahsan Ulhaq Committed by Ahsan Ul Haq

Attribute error in Receipt Response View

LEARNER-5157
parent a77f90b8
...@@ -18,6 +18,7 @@ from ecommerce.extensions.refund.tests.mixins import RefundTestMixin ...@@ -18,6 +18,7 @@ from ecommerce.extensions.refund.tests.mixins import RefundTestMixin
from ecommerce.tests.mixins import LmsApiMockMixin from ecommerce.tests.mixins import LmsApiMockMixin
from ecommerce.tests.testcases import TestCase from ecommerce.tests.testcases import TestCase
Basket = get_model('basket', 'Basket')
BasketAttribute = get_model('basket', 'BasketAttribute') BasketAttribute = get_model('basket', 'BasketAttribute')
BasketAttributeType = get_model('basket', 'BasketAttributeType') BasketAttributeType = get_model('basket', 'BasketAttributeType')
Order = get_model('order', 'Order') Order = get_model('order', 'Order')
...@@ -372,3 +373,10 @@ class ReceiptResponseViewTests(DiscoveryMockMixin, LmsApiMockMixin, RefundTestMi ...@@ -372,3 +373,10 @@ class ReceiptResponseViewTests(DiscoveryMockMixin, LmsApiMockMixin, RefundTestMi
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
self.assertDictContainsSubset(context_data, response.context_data) self.assertDictContainsSubset(context_data, response.context_data)
@httpretty.activate
def test_order_without_basket(self):
order = self.create_order()
Basket.objects.filter(id=order.basket.id).delete()
response = self._get_receipt_response(order.number)
self.assertEqual(response.status_code, 200)
...@@ -182,9 +182,12 @@ class ReceiptResponseView(ThankYouView): ...@@ -182,9 +182,12 @@ class ReceiptResponseView(ThankYouView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super(ReceiptResponseView, self).get_context_data(**kwargs) context = super(ReceiptResponseView, self).get_context_data(**kwargs)
order = context[self.context_object_name] order = context[self.context_object_name]
has_enrollment_code_product = any( has_enrollment_code_product = False
line.product.is_enrollment_code_product for line in order.basket.all_lines() if order.basket:
) has_enrollment_code_product = any(
line.product.is_enrollment_code_product for line in order.basket.all_lines()
)
context.update({ context.update({
'payment_method': self.get_payment_method(order), 'payment_method': self.get_payment_method(order),
'display_credit_messaging': self.order_contains_credit_seat(order), 'display_credit_messaging': self.order_contains_credit_seat(order),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment