backend/image_markuper/users/tests/test_forms.py

37 lines
1.1 KiB
Python
Raw Normal View History

2022-10-25 23:29:13 +03:00
"""
Module for all Form Tests.
"""
from django.utils.translation import gettext_lazy as _
from image_markuper.users.forms import UserAdminCreationForm
from image_markuper.users.models import User
class TestUserAdminCreationForm:
"""
Test class for all tests related to the UserAdminCreationForm
"""
def test_username_validation_error_msg(self, user: User):
"""
Tests UserAdminCreation Form's unique validator functions correctly by testing:
1) A new user with an existing username cannot be added.
2) Only 1 error is raised by the UserCreation Form
3) The desired error message is raised
"""
# The user already exists,
# hence cannot be created.
form = UserAdminCreationForm(
{
"username": user.username,
"password1": user.password,
"password2": user.password,
}
)
assert not form.is_valid()
assert len(form.errors) == 1
assert "username" in form.errors
assert form.errors["username"][0] == _("This username has already been taken.")