Browse Source

Add test to check adding/removing of a voucher

master
Basil Dubyk 5 years ago
parent
commit
b14cb7ff59
1 changed files with 35 additions and 0 deletions
  1. 35
    0
      tests/integration/basket/test_views.py

+ 35
- 0
tests/integration/basket/test_views.py View File

@@ -4,7 +4,9 @@ from django.urls import reverse
4 4
 
5 5
 from oscar.apps.basket import views
6 6
 from oscar.test import factories
7
+from oscar.test.testcases import WebTestCase
7 8
 from tests.fixtures import RequestFactory
9
+from tests.functional.checkout import CheckoutMixin
8 10
 
9 11
 
10 12
 class TestVoucherAddView(TestCase):
@@ -109,3 +111,36 @@ class TestBasketSummaryView(TestCase):
109 111
         request = RequestFactory().get(self.url)
110 112
         view = views.BasketView(request=request)
111 113
         self.assertIsNone(view.get_default_shipping_address())
114
+
115
+
116
+class TestVoucherViews(CheckoutMixin, WebTestCase):
117
+    csrf_checks = False
118
+
119
+    def setUp(self):
120
+        self.voucher = factories.create_voucher()
121
+        super().setUp()
122
+
123
+    def test_add_voucher(self):
124
+        """
125
+        Checks that voucher can be added to basket through appropriate view.
126
+        """
127
+        self.add_product_to_basket()
128
+
129
+        assert self.voucher.basket_set.count() == 0
130
+
131
+        response = self.post(reverse('basket:vouchers-add'), params={'code': self.voucher.code})
132
+        self.assertRedirectsTo(response, 'basket:summary')
133
+        assert self.voucher.basket_set.count() == 1
134
+
135
+    def test_remove_voucher(self):
136
+        """
137
+        Checks that voucher can be removed from basket through appropriate view.
138
+        """
139
+        self.add_product_to_basket()
140
+        self.add_voucher_to_basket(voucher=self.voucher)
141
+
142
+        assert self.voucher.basket_set.count() == 1
143
+
144
+        response = self.post(reverse('basket:vouchers-remove', kwargs={'pk': self.voucher.id}))
145
+        self.assertRedirectsTo(response, 'basket:summary')
146
+        assert self.voucher.basket_set.count() == 0

Loading…
Cancel
Save