test_forms.py 974 B

12345678910111213141516171819202122232425262728
  1. from django import forms
  2. from django.test import TestCase
  3. from misago.core.forms import YesNoSwitch
  4. class YesNoForm(forms.Form):
  5. test_field = YesNoSwitch(label='Hello!')
  6. class YesNoSwitchTests(TestCase):
  7. def test_valid_inputs(self):
  8. """YesNoSwitch returns valid values for valid input"""
  9. for true in ('1', 'True', 'true', 1, True):
  10. form = YesNoForm({'test_field': true})
  11. form.full_clean()
  12. self.assertEqual(form.cleaned_data['test_field'], 1)
  13. for false in ('0', 'False', 'false', 'egebege', False, 0):
  14. form = YesNoForm({'test_field': false})
  15. form.full_clean()
  16. self.assertEqual(form.cleaned_data['test_field'], 0)
  17. def test_dontstripme_input_is_ignored(self):
  18. """YesNoSwitch returns valid values for invalid input"""
  19. form = YesNoForm({'test_field': u'221'})
  20. form.full_clean()
  21. self.assertFalse(form.cleaned_data.get('test_field'))