Commit 7197a198 by Uman Shahzad Committed by Uman Shahzad

Ensure lines exist in the basket before accessing them.

parent 4e4ff270
...@@ -769,12 +769,14 @@ class VoucherAddViewTests(LmsApiMockMixin, TestCase): ...@@ -769,12 +769,14 @@ class VoucherAddViewTests(LmsApiMockMixin, TestCase):
def test_no_voucher_error_msg(self): def test_no_voucher_error_msg(self):
""" Verify correct error message is returned when voucher can't be found. """ """ Verify correct error message is returned when voucher can't be found. """
self.basket.add_product(ProductFactory())
self.assert_form_valid_message("Coupon code '{code}' does not exist.".format(code=COUPON_CODE)) self.assert_form_valid_message("Coupon code '{code}' does not exist.".format(code=COUPON_CODE))
def test_voucher_already_in_basket_error_msg(self): def test_voucher_already_in_basket_error_msg(self):
""" Verify correct error message is returned when voucher already in basket. """ """ Verify correct error message is returned when voucher already in basket. """
voucher = factories.VoucherFactory(code=COUPON_CODE) voucher, product = prepare_voucher(code=COUPON_CODE)
self.basket.vouchers.add(voucher) self.basket.vouchers.add(voucher)
self.basket.add_product(product)
self.assert_form_valid_message( self.assert_form_valid_message(
"You have already added coupon code '{code}' to your basket.".format(code=COUPON_CODE)) "You have already added coupon code '{code}' to your basket.".format(code=COUPON_CODE))
......
...@@ -464,7 +464,7 @@ class VoucherAddView(BaseVoucherAddView): # pylint: disable=function-redefined ...@@ -464,7 +464,7 @@ class VoucherAddView(BaseVoucherAddView): # pylint: disable=function-redefined
def form_valid(self, form): def form_valid(self, form):
code = form.cleaned_data['code'] code = form.cleaned_data['code']
if not self.request.basket.id: if self.request.basket.is_empty:
return redirect_to_referrer(self.request, 'basket:summary') return redirect_to_referrer(self.request, 'basket:summary')
if self.request.basket.contains_voucher(code): if self.request.basket.contains_voucher(code):
messages.error( messages.error(
......
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