From 7d8bee7461e5f78e9e54e9e58fd20ca9bec62bd8 Mon Sep 17 00:00:00 2001 From: Kipchirchir Sigei <arapgodsmack@gmail.com> Date: Fri, 8 Mar 2024 10:43:20 +0300 Subject: [PATCH] Add tests Signed-off-by: Kipchirchir Sigei <arapgodsmack@gmail.com> --- .../apps/main/tests/test_user_validation.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 onadata/apps/main/tests/test_user_validation.py diff --git a/onadata/apps/main/tests/test_user_validation.py b/onadata/apps/main/tests/test_user_validation.py new file mode 100644 index 0000000000..7b2066974e --- /dev/null +++ b/onadata/apps/main/tests/test_user_validation.py @@ -0,0 +1,27 @@ +from onadata.apps.main.admin import CustomUserChangeForm, CustomUserCreationForm +from onadata.apps.main.tests.test_base import TestBase + + +class TestUserValidation(TestBase): + def test_custom_user_creation_form_invalid_username(self): + # Try to create a user with a hyphenated username + form_data = { + "username": "john-doe", + "password1": "testpassword", + "password2": "testpassword", + } + form = CustomUserCreationForm(data=form_data) + self.assertFalse(form.is_valid()) + self.assertIn("username", form.errors) + errors = form.errors.get("username")[0] + self.assertEqual(str(errors), "Usernames cannot contain hyphens.") + + def test_custom_user_change_form_invalid_username(self): + # Try to change a user's username to one with a hyphen + user = self._create_user("bob-user", "bob") + form_data = {"username": "bob-user-1"} + form = CustomUserChangeForm(data=form_data, instance=user) + self.assertFalse(form.is_valid()) + self.assertIn("username", form.errors) + errors = form.errors.get("username")[0] + self.assertEqual(str(errors), "Usernames cannot contain hyphens.")