|
@@ -1,37 +1,9 @@
|
1
|
|
-from django.conf import settings
|
2
|
1
|
from django.test import TestCase
|
3
|
2
|
|
4
|
3
|
from oscar.apps.offer import models
|
5
|
4
|
from oscar.test.factories import create_product
|
6
|
5
|
|
7
|
6
|
|
8
|
|
-class TestWholeSiteRangeWithGlobalBlacklist(TestCase):
|
9
|
|
-
|
10
|
|
- def setUp(self):
|
11
|
|
- self.range = models.Range(
|
12
|
|
- name="All products", includes_all_products=True)
|
13
|
|
-
|
14
|
|
- def tearDown(self):
|
15
|
|
- settings.OSCAR_OFFER_BLACKLIST_PRODUCT = None
|
16
|
|
-
|
17
|
|
- def test_blacklisting_prevents_products_being_in_range(self):
|
18
|
|
- settings.OSCAR_OFFER_BLACKLIST_PRODUCT = lambda p: True
|
19
|
|
- prod = create_product()
|
20
|
|
- self.assertFalse(self.range.contains_product(prod))
|
21
|
|
-
|
22
|
|
- def test_blacklisting_can_use_product_class(self):
|
23
|
|
- settings.OSCAR_OFFER_BLACKLIST_PRODUCT = (
|
24
|
|
- lambda p: p.get_product_class().name == 'giftcard')
|
25
|
|
- prod = create_product(product_class="giftcard")
|
26
|
|
- self.assertFalse(self.range.contains_product(prod))
|
27
|
|
-
|
28
|
|
- def test_blacklisting_doesnt_exlude_everything(self):
|
29
|
|
- settings.OSCAR_OFFER_BLACKLIST_PRODUCT = (
|
30
|
|
- lambda p: p.get_product_class().name == 'giftcard')
|
31
|
|
- prod = create_product(product_class="book")
|
32
|
|
- self.assertTrue(self.range.contains_product(prod))
|
33
|
|
-
|
34
|
|
-
|
35
|
7
|
class TestWholeSiteRange(TestCase):
|
36
|
8
|
|
37
|
9
|
def setUp(self):
|
|
@@ -75,7 +47,7 @@ class TestPartialRange(TestCase):
|
75
|
47
|
self.assertFalse(self.range.contains_product(self.prod))
|
76
|
48
|
|
77
|
49
|
|
78
|
|
-class TestRangeModle(TestCase):
|
|
50
|
+class TestRangeModel(TestCase):
|
79
|
51
|
|
80
|
52
|
def test_ensures_unique_slugs_are_used(self):
|
81
|
53
|
first_range = models.Range.objects.create(name="Foo")
|