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