Coverage for accounts/tests/test_forms.py: 100.00%
15 statements
« prev ^ index » next coverage.py v7.8.2, created at 2025-06-08 13:12 -0700
« prev ^ index » next coverage.py v7.8.2, created at 2025-06-08 13:12 -0700
1import pytest
3from ..forms import CustomUserCreationForm
4from .factories import UserFactory
6pytestmark = pytest.mark.django_db
9class TestUserCreationForm:
10 def test_clean_username(self):
11 user = UserFactory.build() 1a
13 form = CustomUserCreationForm( 1a
14 # fmt: off
15 {
16 "username": user.username,
17 "password1": user._password,
18 "password2": user._password,
19 }
20 # fmt: on
21 )
23 assert form.is_valid() 1a
24 assert form.clean_username() == user.username 1a
26 # Creating a user.
27 form.save() 1a
29 # The user with proto_user params already exists,
30 # hence cannot be created.
31 form = CustomUserCreationForm( 1a
32 # fmt: off
33 {
34 "username": user.username,
35 "password1": user._password,
36 "password2": user._password,
37 }
38 # fmt: on
39 )
41 assert not form.is_valid() 1a
42 assert len(form.errors) == 1 1a
43 assert "username" in form.errors 1a