Coverage for accounts/tests/test_forms.py: 100.00%

15 statements  

« prev     ^ index     » next       coverage.py v7.16.2, created at 2026-10-15 09:40 -0700

1import pytest 1a

2 

3from ..forms import CustomUserCreationForm 1a

4from .factories import UserFactory 1a

5 

6pytestmark = pytest.mark.django_db 1a

7 

8 

9class TestUserCreationForm: 1a

10 def test_clean_username(self): 1a

11 user = UserFactory.build() 1a

12 

13 form = CustomUserCreationForm( 1a

14 { 

15 "username": user.username, 

16 "password1": user._password, 

17 "password2": user._password, 

18 } 

19 ) 

20 

21 assert form.is_valid() 1a

22 assert form.clean_username() == user.username 1a

23 

24 # Creating a user. 

25 form.save() 1a

26 

27 # The user with proto_user params already exists, 

28 # hence cannot be created. 

29 form = CustomUserCreationForm( 1a

30 { 

31 "username": user.username, 

32 "password1": user._password, 

33 "password2": user._password, 

34 } 

35 ) 

36 

37 assert not form.is_valid() 1a

38 assert len(form.errors) == 1 1a

39 assert "username" in form.errors 1a