@@ -48,6 +48,55 @@ def test_create_user_space_login_400_error(self, user_api_noauth_client):
4848 with pytest .raises (bazooka_exc .BadRequestError ):
4949 client .create_user (username = " " , password = "test" )
5050
51+ def test_create_user_without_first_last_name_success (
52+ self , user_api_noauth_client
53+ ):
54+ client = user_api_noauth_client ()
55+ for empty_name in ["" , None ]:
56+ name = f"test_no_names_{ empty_name } " .lower ()
57+ user = client .create_user (
58+ username = name ,
59+ password = "password" ,
60+ first_name = empty_name ,
61+ last_name = empty_name ,
62+ )
63+ assert user ["username" ] == name
64+ assert user ["first_name" ] == ""
65+ assert user ["last_name" ] == ""
66+
67+ def test_update_user_clear_first_last_name_success (
68+ self , user_api_client , auth_test1_user
69+ ):
70+ client = user_api_client (auth_test1_user )
71+ for empty_name in ["" , None ]:
72+ result = client .update_user (
73+ auth_test1_user .uuid ,
74+ first_name = empty_name ,
75+ last_name = empty_name ,
76+ )
77+ assert result .get ("first_name" , None ) == empty_name
78+ assert result .get ("last_name" , None ) == empty_name
79+
80+ def test_me_endpoint_with_empty_names_success (
81+ self , user_api_client , auth_test1_user
82+ ):
83+ client = user_api_client (auth_test1_user )
84+
85+ # First clear the names
86+ client .update_user (
87+ auth_test1_user .uuid ,
88+ first_name = "" ,
89+ last_name = "" ,
90+ )
91+
92+ # Verify in /me endpoint
93+ result = client .get (
94+ auth_test1_user .get_me_url (client .endpoint ),
95+ ).json ()
96+
97+ assert result ["user" ]["first_name" ] == ""
98+ assert result ["user" ]["last_name" ] == ""
99+
51100 def test_create_user_and_check_roles (
52101 self , user_api_client , auth_test1_user
53102 ):
@@ -139,15 +188,6 @@ def test_update_my_user_test1_auth_success(
139188
140189 assert result ["username" ] == "testxxx"
141190
142- def test_update_my_user_400_error (self , user_api_client , auth_test1_user ):
143- client = user_api_client (auth_test1_user )
144-
145- with pytest .raises (bazooka_exc .BadRequestError ):
146- client .update_user (
147- auth_test1_user .uuid ,
148- first_name = "" ,
149- )
150-
151191 def test_update_other_user_test1_auth_forbidden (
152192 self , user_api_client , auth_test1_user , auth_test2_user
153193 ):
@@ -354,3 +394,36 @@ def test_fields_in_me_info_success(
354394 for field in user_has_only_fields :
355395 result ["user" ].pop (field )
356396 assert result ["user" ] == {}
397+
398+ def test_login_success (self , user_api_noauth_client , auth_test1_user ):
399+ client = user_api_noauth_client ()
400+ for login in [auth_test1_user .username , auth_test1_user .email ]:
401+ response = client .login (
402+ login = login ,
403+ password = "test1" ,
404+ )
405+ assert "access_token" in response
406+
407+ def test_login_with_invalid_login_404_error (self , user_api_noauth_client ):
408+ client = user_api_noauth_client ()
409+ for login in ["nonexistent_user" , "nonexistent@mail.com" , "" , " " * 8 ]:
410+ with pytest .raises (bazooka_exc .NotFoundError ):
411+ client .login (login = login , password = "password" )
412+
413+ def test_login_with_wrong_password_400_error (
414+ self , user_api_noauth_client , auth_test1_user
415+ ):
416+ client = user_api_noauth_client ()
417+ for password in ["wrong_password" , "" , " " * 8 ]:
418+ with pytest .raises (bazooka_exc .BadRequestError ):
419+ client .login (login = auth_test1_user .email , password = password )
420+
421+ def test_login_case_insensitive_username (
422+ self , user_api_noauth_client , auth_test1_user
423+ ):
424+ client = user_api_noauth_client ()
425+ response = client .login (
426+ login = auth_test1_user .username .upper (),
427+ password = "test1" ,
428+ )
429+ assert "access_token" in response
0 commit comments