|
|
@@ -1,5 +1,6 @@
|
|
1
|
1
|
from decimal import Decimal as D
|
|
2
|
2
|
|
|
|
3
|
+from django.core import exceptions
|
|
3
|
4
|
from django.test import TestCase
|
|
4
|
5
|
import mock
|
|
5
|
6
|
|
|
|
@@ -179,3 +180,15 @@ class TestAPercentageDiscountWithMaxItemsSetAppliedWithValueCondition(TestCase):
|
|
179
|
180
|
self.assertEqual(1 * D('4.00') * D('0.2'), result.discount)
|
|
180
|
181
|
self.assertEqual(3, self.basket.num_items_with_discount)
|
|
181
|
182
|
self.assertEqual(0, self.basket.num_items_without_discount)
|
|
|
183
|
+
|
|
|
184
|
+
|
|
|
185
|
+class TestAPercentageDiscountBenefit(TestCase):
|
|
|
186
|
+
|
|
|
187
|
+ def test_requires_a_benefit_value(self):
|
|
|
188
|
+ rng = models.Range.objects.create(
|
|
|
189
|
+ name="", includes_all_products=True)
|
|
|
190
|
+ benefit = models.Benefit.objects.create(
|
|
|
191
|
+ type=models.Benefit.PERCENTAGE, range=rng
|
|
|
192
|
+ )
|
|
|
193
|
+ with self.assertRaises(exceptions.ValidationError):
|
|
|
194
|
+ benefit.clean()
|