40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			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
 |