Browse Source

Merge pull request #1816 from binarydud/fix/missing_promotions_form_field

Fix missing page_url promotions form field
master
Michael van Tellingen 10 years ago
parent
commit
69a91c5d71

+ 1
- 1
src/oscar/apps/dashboard/promotions/forms.py View File

@@ -75,7 +75,7 @@ class PagePromotionForm(forms.ModelForm):
75 75
 
76 76
     class Meta:
77 77
         model = PagePromotion
78
-        fields = ['position']
78
+        fields = ['position', 'page_url']
79 79
 
80 80
     def clean_page_url(self):
81 81
         page_url = self.cleaned_data.get('page_url')

+ 19
- 0
tests/unit/dashboard/promotions_form_tests.py View File

@@ -0,0 +1,19 @@
1
+from django.test import TestCase
2
+
3
+from oscar.apps.dashboard.promotions import forms
4
+from oscar.core.loading import get_classes
5
+
6
+RawHTML, PagePromotion = get_classes('promotions.models', ['RawHTML', 'PagePromotion'])
7
+
8
+
9
+class TestPagePromotionForm(TestCase):
10
+
11
+    def test_page_promotion_has_fields(self):
12
+        promotion = RawHTML()
13
+        promotion.save()
14
+        instance = PagePromotion(content_object=promotion)
15
+        data = {'position': 'page', 'page_url': '/'}
16
+        form = forms.PagePromotionForm(data=data, instance=instance)
17
+        self.assertTrue(form.is_valid())
18
+        page_promotion = form.save()
19
+        self.assertEqual(page_promotion.page_url, '/')

Loading…
Cancel
Save