from django import forms from django.test import TestCase from misago.admin.forms import YesNoSwitch class YesNoForm(forms.Form): test_field = YesNoSwitch(label="Hello!") class YesNoSwitchTests(TestCase): def test_valid_inputs(self): """YesNoSwitch returns valid values for valid input""" for true in ("1", "True", "true", 1, True): form = YesNoForm({"test_field": true}) form.full_clean() self.assertEqual(form.cleaned_data["test_field"], 1) for false in ("0", "False", "false", "egebege", False, 0): form = YesNoForm({"test_field": false}) form.full_clean() self.assertEqual(form.cleaned_data["test_field"], 0) def test_dontstripme_input_is_ignored(self): """YesNoSwitch returns valid values for invalid input""" form = YesNoForm({"test_field": "221"}) form.full_clean() self.assertFalse(form.cleaned_data.get("test_field"))