| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- from django.contrib.messages import get_messages
- from django.test import RequestFactory, TestCase
-
- from oscar.apps.basket import views
- from oscar.test.factories import BasketFactory, VoucherFactory
- from oscar.test.utils import RequestFactory
-
-
- class TestVoucherAddView(TestCase):
- def test_get(self):
- request = RequestFactory().get('/')
-
- view = views.VoucherAddView.as_view()
- response = view(request)
-
- assert response.status_code == 302
-
- def test_post_valid(self):
- basket = BasketFactory()
- voucher = VoucherFactory()
- assert voucher.is_active()
-
- data = {
- 'code': voucher.code
- }
- request = RequestFactory().post('/', data=data, basket=basket)
-
- view = views.VoucherAddView.as_view()
- response = view(request)
- assert response.status_code == 302
-
- voucher = voucher.__class__.objects.get(pk=voucher.pk)
- assert voucher.num_basket_additions == 1, (
- [unicode(m.message) for m in get_messages(request)])
-
-
- class TestVoucherRemoveView(TestCase):
-
- def test_post_valid(self):
- basket = BasketFactory()
- voucher = VoucherFactory()
- basket.vouchers.add(voucher)
-
- data = {
- 'code': voucher.code
- }
- request = RequestFactory().post('/', data=data, basket=basket)
-
- view = views.VoucherRemoveView.as_view()
- response = view(request, pk=voucher.pk)
- assert response.status_code == 302
-
- voucher = voucher.__class__.objects.get(pk=voucher.pk)
- assert voucher.num_basket_additions == -1
|