You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_mixins.py 1010B

1234567891011121314151617181920212223242526272829303132
  1. from django import forms
  2. from django.test import TestCase
  3. from oscar.apps.address.models import UserAddress
  4. from oscar.views.generic import PhoneNumberMixin
  5. class PhoneNumberMixinTestCase(TestCase):
  6. def test_mixin_adds_phone_number_field(self):
  7. class TestForm(PhoneNumberMixin, forms.Form):
  8. pass
  9. form = TestForm()
  10. self.assertIn('phone_number', form.fields)
  11. def test_mixin_retains_existing_field_properties(self):
  12. class TestForm(PhoneNumberMixin, forms.ModelForm):
  13. class Meta:
  14. model = UserAddress
  15. fields = ['country', 'phone_number']
  16. # Override default label and help text
  17. labels = {"phone_number": "Special number"}
  18. help_texts = {"phone_number": "Special help text"}
  19. form = TestForm()
  20. field = form.fields['phone_number']
  21. self.assertEqual(field.label, "Special number")
  22. self.assertEqual(field.help_text, "Special help text")