Browse Source

Rename test file to match module tested.

As in `test_model.py` -> `test_models.py`
master
Michael van Tellingen 9 years ago
parent
commit
be8a2795c7

tests/integration/address/test_form.py → tests/integration/address/test_forms.py View File


tests/integration/address/test_model.py → tests/integration/address/test_models.py View File


tests/integration/basket/test_form.py → tests/integration/basket/test_forms.py View File


+ 0
- 176
tests/integration/basket/test_model.py View File

@@ -1,176 +0,0 @@
1
-from decimal import Decimal as D
2
-
3
-from django.test import TestCase
4
-
5
-from oscar.apps.basket.models import Basket
6
-from oscar.apps.partner import strategy, availability, prices
7
-from oscar.test import factories
8
-from oscar.apps.catalogue.models import Option
9
-
10
-
11
-class TestAddingAProductToABasket(TestCase):
12
-
13
-    def setUp(self):
14
-        self.basket = Basket()
15
-        self.basket.strategy = strategy.Default()
16
-        self.product = factories.create_product()
17
-        self.record = factories.create_stockrecord(
18
-            currency='GBP',
19
-            product=self.product, price_excl_tax=D('10.00'))
20
-        self.purchase_info = factories.create_purchase_info(self.record)
21
-        self.basket.add(self.product)
22
-
23
-    def test_creates_a_line(self):
24
-        self.assertEqual(1, self.basket.num_lines)
25
-
26
-    def test_sets_line_prices(self):
27
-        line = self.basket.lines.all()[0]
28
-        self.assertEqual(line.price_incl_tax, self.purchase_info.price.incl_tax)
29
-        self.assertEqual(line.price_excl_tax, self.purchase_info.price.excl_tax)
30
-
31
-    def test_adding_negative_quantity(self):
32
-        self.assertEqual(1, self.basket.num_lines)
33
-        self.basket.add(self.product, quantity=4)
34
-        self.assertEqual(5, self.basket.line_quantity(self.product, self.record))
35
-        self.basket.add(self.product, quantity=-10)
36
-        self.assertEqual(0, self.basket.line_quantity(self.product, self.record))
37
-
38
-    def test_means_another_currency_product_cannot_be_added(self):
39
-        product = factories.create_product()
40
-        factories.create_stockrecord(
41
-            currency='USD', product=product, price_excl_tax=D('20.00'))
42
-        with self.assertRaises(ValueError):
43
-            self.basket.add(product)
44
-
45
-
46
-class TestANonEmptyBasket(TestCase):
47
-
48
-    def setUp(self):
49
-        self.basket = Basket()
50
-        self.basket.strategy = strategy.Default()
51
-        self.product = factories.create_product()
52
-        self.record = factories.create_stockrecord(
53
-            self.product, price_excl_tax=D('10.00'))
54
-        self.purchase_info = factories.create_purchase_info(self.record)
55
-        self.basket.add(self.product, 10)
56
-
57
-    def test_can_be_flushed(self):
58
-        self.basket.flush()
59
-        self.assertEqual(self.basket.num_items, 0)
60
-
61
-    def test_returns_correct_product_quantity(self):
62
-        self.assertEqual(10, self.basket.product_quantity(
63
-            self.product))
64
-
65
-    def test_returns_correct_line_quantity_for_existing_product_and_stockrecord(self):
66
-        self.assertEqual(10, self.basket.line_quantity(
67
-            self.product, self.record))
68
-
69
-    def test_returns_zero_line_quantity_for_alternative_stockrecord(self):
70
-        record = factories.create_stockrecord(
71
-            self.product, price_excl_tax=D('5.00'))
72
-        self.assertEqual(0, self.basket.line_quantity(
73
-            self.product, record))
74
-
75
-    def test_returns_zero_line_quantity_for_missing_product_and_stockrecord(self):
76
-        product = factories.create_product()
77
-        record = factories.create_stockrecord(
78
-            product, price_excl_tax=D('5.00'))
79
-        self.assertEqual(0, self.basket.line_quantity(
80
-            product, record))
81
-
82
-    def test_returns_correct_quantity_for_existing_product_and_stockrecord_and_options(self):
83
-        product = factories.create_product()
84
-        record = factories.create_stockrecord(
85
-            product, price_excl_tax=D('5.00'))
86
-        option = Option.objects.create(name="Message")
87
-        options = [{"option": option, "value": "2"}]
88
-
89
-        self.basket.add(product, options=options)
90
-        self.assertEqual(0, self.basket.line_quantity(
91
-            product, record))
92
-        self.assertEqual(1, self.basket.line_quantity(
93
-            product, record, options))
94
-
95
-    def test_total_sums_product_totals(self):
96
-        product = factories.create_product()
97
-        factories.create_stockrecord(
98
-            product, price_excl_tax=D('5.00'))
99
-        self.basket.add(product, 1)
100
-        self.assertEqual(self.basket.total_excl_tax, 105)
101
-
102
-    def test_total_excludes_unavailable_products_with_unknown_price(self):
103
-        new_product = factories.create_product()
104
-        factories.create_stockrecord(
105
-            new_product, price_excl_tax=D('5.00'))
106
-        self.basket.add(new_product, 1)
107
-
108
-        class UnavailableProductStrategy(strategy.Default):
109
-            """ A test strategy that makes a specific product unavailable """
110
-
111
-            def availability_policy(self, product, stockrecord):
112
-                if product == new_product:
113
-                    return availability.Unavailable()
114
-                return super(UnavailableProductStrategy, self).availability_policy(product, stockrecord)
115
-
116
-            def pricing_policy(self, product, stockrecord):
117
-                if product == new_product:
118
-                    return prices.Unavailable()
119
-                return super(UnavailableProductStrategy, self).pricing_policy(product, stockrecord)
120
-
121
-        try:
122
-            self.basket.strategy = UnavailableProductStrategy()
123
-            self.assertEqual(self.basket.all_lines()[1].get_warning(), u"'D\xf9\uff4d\u03fb\u03d2 title' is no longer available")
124
-            self.assertEqual(self.basket.total_excl_tax, 100)
125
-        finally:
126
-            self.basket.strategy = strategy.Default()
127
-
128
-
129
-class TestMergingTwoBaskets(TestCase):
130
-
131
-    def setUp(self):
132
-        self.product = factories.create_product()
133
-        self.record = factories.create_stockrecord(
134
-            self.product, price_excl_tax=D('10.00'))
135
-        self.purchase_info = factories.create_purchase_info(self.record)
136
-
137
-        self.main_basket = Basket()
138
-        self.main_basket.strategy = strategy.Default()
139
-        self.main_basket.add(self.product, quantity=2)
140
-
141
-        self.merge_basket = Basket()
142
-        self.merge_basket.strategy = strategy.Default()
143
-        self.merge_basket.add(self.product, quantity=1)
144
-
145
-        self.main_basket.merge(self.merge_basket)
146
-
147
-    def test_doesnt_sum_quantities(self):
148
-        self.assertEqual(1, self.main_basket.num_lines)
149
-
150
-    def test_changes_status_of_merge_basket(self):
151
-        self.assertEqual(Basket.MERGED, self.merge_basket.status)
152
-
153
-
154
-class TestASubmittedBasket(TestCase):
155
-
156
-    def setUp(self):
157
-        self.basket = Basket()
158
-        self.basket.strategy = strategy.Default()
159
-        self.basket.submit()
160
-
161
-    def test_has_correct_status(self):
162
-        self.assertTrue(self.basket.is_submitted)
163
-
164
-    def test_can_be_edited(self):
165
-        self.assertFalse(self.basket.can_be_edited)
166
-
167
-
168
-class TestMergingAVoucherBasket(TestCase):
169
-
170
-    def test_transfers_vouchers_to_new_basket(self):
171
-        baskets = [factories.BasketFactory(), factories.BasketFactory()]
172
-        voucher = factories.VoucherFactory()
173
-        baskets[0].vouchers.add(voucher)
174
-        baskets[1].merge(baskets[0])
175
-
176
-        self.assertEqual(1, baskets[1].vouchers.all().count())

+ 173
- 1
tests/integration/basket/test_models.py View File

@@ -1,8 +1,12 @@
1 1
 # -*- coding: utf-8 -*-
2
+from decimal import Decimal as D
3
+
2 4
 from django.test import TestCase
3 5
 
4 6
 from oscar.apps.basket.models import Basket
5
-from oscar.apps.partner import strategy
7
+from oscar.apps.catalogue.models import Option
8
+from oscar.apps.partner import availability, prices, strategy
9
+from oscar.test import factories
6 10
 from oscar.test.factories import (
7 11
     BasketFactory, BasketLineAttributeFactory, OptionFactory, ProductFactory)
8 12
 
@@ -73,3 +77,171 @@ class TestBasketLine(TestCase):
73 77
         basket.add_product(another_product)
74 78
         queryset = basket.all_lines()
75 79
         self.assertTrue(queryset.ordered)
80
+
81
+
82
+class TestAddingAProductToABasket(TestCase):
83
+
84
+    def setUp(self):
85
+        self.basket = Basket()
86
+        self.basket.strategy = strategy.Default()
87
+        self.product = factories.create_product()
88
+        self.record = factories.create_stockrecord(
89
+            currency='GBP',
90
+            product=self.product, price_excl_tax=D('10.00'))
91
+        self.purchase_info = factories.create_purchase_info(self.record)
92
+        self.basket.add(self.product)
93
+
94
+    def test_creates_a_line(self):
95
+        self.assertEqual(1, self.basket.num_lines)
96
+
97
+    def test_sets_line_prices(self):
98
+        line = self.basket.lines.all()[0]
99
+        self.assertEqual(line.price_incl_tax, self.purchase_info.price.incl_tax)
100
+        self.assertEqual(line.price_excl_tax, self.purchase_info.price.excl_tax)
101
+
102
+    def test_adding_negative_quantity(self):
103
+        self.assertEqual(1, self.basket.num_lines)
104
+        self.basket.add(self.product, quantity=4)
105
+        self.assertEqual(5, self.basket.line_quantity(self.product, self.record))
106
+        self.basket.add(self.product, quantity=-10)
107
+        self.assertEqual(0, self.basket.line_quantity(self.product, self.record))
108
+
109
+    def test_means_another_currency_product_cannot_be_added(self):
110
+        product = factories.create_product()
111
+        factories.create_stockrecord(
112
+            currency='USD', product=product, price_excl_tax=D('20.00'))
113
+        with self.assertRaises(ValueError):
114
+            self.basket.add(product)
115
+
116
+
117
+class TestANonEmptyBasket(TestCase):
118
+
119
+    def setUp(self):
120
+        self.basket = Basket()
121
+        self.basket.strategy = strategy.Default()
122
+        self.product = factories.create_product()
123
+        self.record = factories.create_stockrecord(
124
+            self.product, price_excl_tax=D('10.00'))
125
+        self.purchase_info = factories.create_purchase_info(self.record)
126
+        self.basket.add(self.product, 10)
127
+
128
+    def test_can_be_flushed(self):
129
+        self.basket.flush()
130
+        self.assertEqual(self.basket.num_items, 0)
131
+
132
+    def test_returns_correct_product_quantity(self):
133
+        self.assertEqual(10, self.basket.product_quantity(
134
+            self.product))
135
+
136
+    def test_returns_correct_line_quantity_for_existing_product_and_stockrecord(self):
137
+        self.assertEqual(10, self.basket.line_quantity(
138
+            self.product, self.record))
139
+
140
+    def test_returns_zero_line_quantity_for_alternative_stockrecord(self):
141
+        record = factories.create_stockrecord(
142
+            self.product, price_excl_tax=D('5.00'))
143
+        self.assertEqual(0, self.basket.line_quantity(
144
+            self.product, record))
145
+
146
+    def test_returns_zero_line_quantity_for_missing_product_and_stockrecord(self):
147
+        product = factories.create_product()
148
+        record = factories.create_stockrecord(
149
+            product, price_excl_tax=D('5.00'))
150
+        self.assertEqual(0, self.basket.line_quantity(
151
+            product, record))
152
+
153
+    def test_returns_correct_quantity_for_existing_product_and_stockrecord_and_options(self):
154
+        product = factories.create_product()
155
+        record = factories.create_stockrecord(
156
+            product, price_excl_tax=D('5.00'))
157
+        option = Option.objects.create(name="Message")
158
+        options = [{"option": option, "value": "2"}]
159
+
160
+        self.basket.add(product, options=options)
161
+        self.assertEqual(0, self.basket.line_quantity(
162
+            product, record))
163
+        self.assertEqual(1, self.basket.line_quantity(
164
+            product, record, options))
165
+
166
+    def test_total_sums_product_totals(self):
167
+        product = factories.create_product()
168
+        factories.create_stockrecord(
169
+            product, price_excl_tax=D('5.00'))
170
+        self.basket.add(product, 1)
171
+        self.assertEqual(self.basket.total_excl_tax, 105)
172
+
173
+    def test_total_excludes_unavailable_products_with_unknown_price(self):
174
+        new_product = factories.create_product()
175
+        factories.create_stockrecord(
176
+            new_product, price_excl_tax=D('5.00'))
177
+        self.basket.add(new_product, 1)
178
+
179
+        class UnavailableProductStrategy(strategy.Default):
180
+            """ A test strategy that makes a specific product unavailable """
181
+
182
+            def availability_policy(self, product, stockrecord):
183
+                if product == new_product:
184
+                    return availability.Unavailable()
185
+                return super(UnavailableProductStrategy, self).availability_policy(product, stockrecord)
186
+
187
+            def pricing_policy(self, product, stockrecord):
188
+                if product == new_product:
189
+                    return prices.Unavailable()
190
+                return super(UnavailableProductStrategy, self).pricing_policy(product, stockrecord)
191
+
192
+        try:
193
+            self.basket.strategy = UnavailableProductStrategy()
194
+            self.assertEqual(self.basket.all_lines()[1].get_warning(), u"'D\xf9\uff4d\u03fb\u03d2 title' is no longer available")
195
+            self.assertEqual(self.basket.total_excl_tax, 100)
196
+        finally:
197
+            self.basket.strategy = strategy.Default()
198
+
199
+
200
+class TestMergingTwoBaskets(TestCase):
201
+
202
+    def setUp(self):
203
+        self.product = factories.create_product()
204
+        self.record = factories.create_stockrecord(
205
+            self.product, price_excl_tax=D('10.00'))
206
+        self.purchase_info = factories.create_purchase_info(self.record)
207
+
208
+        self.main_basket = Basket()
209
+        self.main_basket.strategy = strategy.Default()
210
+        self.main_basket.add(self.product, quantity=2)
211
+
212
+        self.merge_basket = Basket()
213
+        self.merge_basket.strategy = strategy.Default()
214
+        self.merge_basket.add(self.product, quantity=1)
215
+
216
+        self.main_basket.merge(self.merge_basket)
217
+
218
+    def test_doesnt_sum_quantities(self):
219
+        self.assertEqual(1, self.main_basket.num_lines)
220
+
221
+    def test_changes_status_of_merge_basket(self):
222
+        self.assertEqual(Basket.MERGED, self.merge_basket.status)
223
+
224
+
225
+class TestASubmittedBasket(TestCase):
226
+
227
+    def setUp(self):
228
+        self.basket = Basket()
229
+        self.basket.strategy = strategy.Default()
230
+        self.basket.submit()
231
+
232
+    def test_has_correct_status(self):
233
+        self.assertTrue(self.basket.is_submitted)
234
+
235
+    def test_can_be_edited(self):
236
+        self.assertFalse(self.basket.can_be_edited)
237
+
238
+
239
+class TestMergingAVoucherBasket(TestCase):
240
+
241
+    def test_transfers_vouchers_to_new_basket(self):
242
+        baskets = [factories.BasketFactory(), factories.BasketFactory()]
243
+        voucher = factories.VoucherFactory()
244
+        baskets[0].vouchers.add(voucher)
245
+        baskets[1].merge(baskets[0])
246
+
247
+        self.assertEqual(1, baskets[1].vouchers.all().count())

tests/integration/basket/test_view.py → tests/integration/basket/test_views.py View File


tests/integration/catalogue/reviews/test_form.py → tests/integration/catalogue/reviews/test_forms.py View File


tests/integration/catalogue/reviews/test_model.py → tests/integration/catalogue/reviews/test_models.py View File


tests/integration/offer/test_form.py → tests/integration/offer/test_forms.py View File


tests/integration/order/test_model.py → tests/integration/order/test_models.py View File


tests/integration/partner/test_model.py → tests/integration/partner/test_models.py View File


tests/integration/payment/test_form.py → tests/integration/payment/test_forms.py View File


+ 0
- 47
tests/integration/payment/test_model.py View File

@@ -1,47 +0,0 @@
1
-from decimal import Decimal as D
2
-import datetime
3
-
4
-from django.test import TestCase
5
-
6
-from oscar.apps.payment.models import Bankcard
7
-from oscar.test import factories
8
-
9
-
10
-class TestAPaymentSource(TestCase):
11
-
12
-    def setUp(self):
13
-        order = factories.create_order()
14
-        self.source = factories.SourceFactory(order=order)
15
-
16
-    def test_allocation_doesnt_error(self):
17
-        self.source.allocate(D('100.00'))
18
-
19
-    def test_debit_doesnt_error(self):
20
-        self.source.allocate(D('100.00'))
21
-        self.source.debit(D('80.00'))
22
-
23
-    def test_full_debit_doesnt_error(self):
24
-        self.source.allocate(D('100.00'))
25
-        self.source.debit()
26
-        self.assertEqual(D('0.00'), self.source.balance)
27
-
28
-    def test_refund_doesnt_error(self):
29
-        self.source.allocate(D('100.00'))
30
-        self.source.debit(D('80.00'))
31
-        self.source.refund(D('50.00'))
32
-
33
-
34
-class TestBankcard(TestCase):
35
-
36
-    def test_cardtype_persists_after_save(self):
37
-        user = factories.UserFactory()
38
-        end = datetime.date(day=1, month=1, year=2010)
39
-        bankcard = Bankcard(
40
-            user=user, number="5500000000000004", expiry_date=end)
41
-        self.assertEqual('Mastercard', bankcard.card_type)
42
-
43
-        bankcard.save()
44
-        self.assertEqual('Mastercard', bankcard.card_type)
45
-
46
-        reloaded_bankcard = Bankcard.objects.get(id=bankcard.id)
47
-        self.assertEqual('Mastercard', reloaded_bankcard.card_type)

+ 39
- 1
tests/integration/payment/test_models.py View File

@@ -3,8 +3,9 @@ from decimal import Decimal as D
3 3
 
4 4
 from django.test import TestCase
5 5
 
6
-from oscar.core.compat import get_user_model
7 6
 from oscar.apps.payment.models import Bankcard, Source
7
+from oscar.core.compat import get_user_model
8
+from oscar.test import factories
8 9
 
9 10
 
10 11
 class TestBankcard(TestCase):
@@ -38,6 +39,19 @@ class TestBankcard(TestCase):
38 39
         saved_bankcard = Bankcard.objects.get(id=bankcard.id)
39 40
         self.assertEqual('Mastercard', saved_bankcard.card_type)
40 41
 
42
+    def test_cardtype_persists_after_save(self):
43
+        user = factories.UserFactory()
44
+        end = datetime.date(day=1, month=1, year=2010)
45
+        bankcard = Bankcard(
46
+            user=user, number="5500000000000004", expiry_date=end)
47
+        self.assertEqual('Mastercard', bankcard.card_type)
48
+
49
+        bankcard.save()
50
+        self.assertEqual('Mastercard', bankcard.card_type)
51
+
52
+        reloaded_bankcard = Bankcard.objects.get(id=bankcard.id)
53
+        self.assertEqual('Mastercard', reloaded_bankcard.card_type)
54
+
41 55
 
42 56
 class TestSource(TestCase):
43 57
 
@@ -60,3 +74,27 @@ class TestSource(TestCase):
60 74
             amount_refunded=D('20'))
61 75
         self.assertEqual(
62 76
             D('80') - D('20'), source.amount_available_for_refund)
77
+
78
+
79
+class TestAPaymentSource(TestCase):
80
+
81
+    def setUp(self):
82
+        order = factories.create_order()
83
+        self.source = factories.SourceFactory(order=order)
84
+
85
+    def test_allocation_doesnt_error(self):
86
+        self.source.allocate(D('100.00'))
87
+
88
+    def test_debit_doesnt_error(self):
89
+        self.source.allocate(D('100.00'))
90
+        self.source.debit(D('80.00'))
91
+
92
+    def test_full_debit_doesnt_error(self):
93
+        self.source.allocate(D('100.00'))
94
+        self.source.debit()
95
+        self.assertEqual(D('0.00'), self.source.balance)
96
+
97
+    def test_refund_doesnt_error(self):
98
+        self.source.allocate(D('100.00'))
99
+        self.source.debit(D('80.00'))
100
+        self.source.refund(D('50.00'))

tests/integration/shipping/test_model.py → tests/integration/shipping/test_models.py View File


tests/integration/voucher/test_model.py → tests/integration/voucher/test_models.py View File


Loading…
Cancel
Save