Commit 33bdf935 by asadiqbal08 Committed by Chris Dodge

Retrieving active coupon codes from model

parent fc8ec1cc
...@@ -142,8 +142,8 @@ class ShoppingCartViewsTests(ModuleStoreTestCase): ...@@ -142,8 +142,8 @@ class ShoppingCartViewsTests(ModuleStoreTestCase):
self.add_coupon(self.course_key, False) self.add_coupon(self.course_key, False)
self.add_course_to_user_cart() self.add_course_to_user_cart()
resp = self.client.post(reverse('shoppingcart.views.use_code'), {'code': self.coupon_code}) resp = self.client.post(reverse('shoppingcart.views.use_code'), {'code': self.coupon_code})
self.assertEqual(resp.status_code, 400) self.assertEqual(resp.status_code, 404)
self.assertIn("Coupon '{0}' is inactive.".format(self.coupon_code), resp.content) self.assertIn("Discount does not exist against code '{0}'.".format(self.coupon_code), resp.content)
def test_course_does_not_exist_in_cart_against_valid_coupon(self): def test_course_does_not_exist_in_cart_against_valid_coupon(self):
course_key = self.course_key.to_deprecated_string() + 'testing' course_key = self.course_key.to_deprecated_string() + 'testing'
......
...@@ -160,7 +160,7 @@ def use_code(request): ...@@ -160,7 +160,7 @@ def use_code(request):
""" """
code = request.POST["code"] code = request.POST["code"]
try: try:
coupon = Coupon.objects.get(code=code) coupon = Coupon.objects.get(code=code, is_active=True)
except Coupon.DoesNotExist: except Coupon.DoesNotExist:
# If not coupon code then we check that code against course registration code # If not coupon code then we check that code against course registration code
try: try:
...@@ -192,18 +192,15 @@ def use_coupon_code(coupon, user): ...@@ -192,18 +192,15 @@ def use_coupon_code(coupon, user):
""" """
This method utilize course coupon code This method utilize course coupon code
""" """
if coupon.is_active: try:
try: cart = Order.get_cart_for_user(user)
cart = Order.get_cart_for_user(user) CouponRedemption.add_coupon_redemption(coupon, cart)
CouponRedemption.add_coupon_redemption(coupon, cart) except CouponAlreadyExistException:
except CouponAlreadyExistException: return HttpResponseBadRequest(_("Coupon '{0}' already used.".format(coupon.code)))
return HttpResponseBadRequest(_("Coupon '{0}' already used.".format(coupon.code))) except ItemDoesNotExistAgainstCouponException:
except ItemDoesNotExistAgainstCouponException: return HttpResponseNotFound(_("Coupon '{0}' is not valid for any course in the shopping cart.".format(coupon.code)))
return HttpResponseNotFound(_("Coupon '{0}' is not valid for any course in the shopping cart.".format(coupon.code)))
return HttpResponse(json.dumps({'response': 'success'}), content_type="application/json")
return HttpResponse(json.dumps({'response': 'success'}), content_type="application/json")
else:
return HttpResponseBadRequest(_("Coupon '{0}' is inactive.".format(coupon.code)))
@login_required @login_required
......
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