test_yesno_switch.py 783 B

123456789101112131415161718192021222324252627
  1. from django import forms
  2. from ..forms import YesNoSwitch
  3. class YesNoForm(forms.Form):
  4. test_field = YesNoSwitch(label="Hello!")
  5. def test_input_returns_int_true_for_valid_true_input():
  6. for value in ("1", "True", "true", 1, True):
  7. form = YesNoForm({"test_field": value})
  8. form.full_clean()
  9. assert form.cleaned_data["test_field"] == 1
  10. def test_input_returns_int_false_for_false_input():
  11. for value in ("0", "False", "false", False, 0, None, ""):
  12. form = YesNoForm({"test_field": value})
  13. form.full_clean()
  14. assert form.cleaned_data["test_field"] == 0
  15. def test_input_returns_int_false_for_invalid_input():
  16. form = YesNoForm({"test_field": "invalid"})
  17. form.full_clean()
  18. assert form.cleaned_data["test_field"] == 0