test_forms.py 974 B

12345678910111213141516171819202122232425262728
  1. from django import forms
  2. from django.test import TestCase
  3. from misago.admin.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": "221"})
  20. form.full_clean()
  21. self.assertFalse(form.cleaned_data.get("test_field"))