Browse Source

Move yesnoswitch tests to pytest

rafalp 6 years ago
parent
commit
bc2ef42f33
2 changed files with 27 additions and 28 deletions
  1. 0 28
      misago/admin/tests/test_forms.py
  2. 27 0
      misago/admin/tests/test_yesno_switch.py

+ 0 - 28
misago/admin/tests/test_forms.py

@@ -1,28 +0,0 @@
-from django import forms
-from django.test import TestCase
-
-from ..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"))

+ 27 - 0
misago/admin/tests/test_yesno_switch.py

@@ -0,0 +1,27 @@
+from django import forms
+
+from ..forms import YesNoSwitch
+
+
+class YesNoForm(forms.Form):
+    test_field = YesNoSwitch(label="Hello!")
+
+
+def test_input_returns_int_true_for_valid_true_input():
+    for value in ("1", "True", "true", 1, True):
+        form = YesNoForm({"test_field": value})
+        form.full_clean()
+        assert form.cleaned_data["test_field"] == 1
+
+
+def test_input_returns_int_false_for_false_input():
+    for value in ("0", "False", "false", False, 0, None, ""):
+        form = YesNoForm({"test_field": value})
+        form.full_clean()
+        assert form.cleaned_data["test_field"] == 0
+
+
+def test_input_returns_int_false_for_invalid_input():
+    form = YesNoForm({"test_field": "invalid"})
+    form.full_clean()
+    assert form.cleaned_data["test_field"] == 0