funkwhale/api/tests/users/test_admin.py

40 wiersze
1.1 KiB
Python

from funkwhale_api.users.admin import MyUserCreationForm
def test_clean_username_success(db):
# Instantiate the form with a new username
form = MyUserCreationForm(
{
"username": "alamode",
"password1": "thisismypassword",
"password2": "thisismypassword",
}
)
# Run is_valid() to trigger the validation
valid = form.is_valid()
assert valid
# Run the actual clean_username method
username = form.clean_username()
assert "alamode" == username
def test_clean_username_false(factories):
user = factories["users.User"]()
# Instantiate the form with the same username as self.user
form = MyUserCreationForm(
{
"username": user.username,
"password1": "thisismypassword",
"password2": "thisismypassword",
}
)
# Run is_valid() to trigger the validation, which is going to fail
# because the username is already taken
valid = form.is_valid()
assert not valid
# The form.errors dict should contain a single error called 'username'
assert len(form.errors) == 1
assert "username" in form.errors