@@ -44,27 +44,53 @@ def test_api_tokens(self):
4444 self .assertEqual (self .user .id , jwt_refresh .for_user (self .user ).access_token ["user_id" ])
4545
4646 self .assertEqual (response .status_code , 200 )
47+
48+ def test_api_user_create (self ):
49+ url = "/api/v1/users/user/"
50+
51+ def _check_user_error_field ():
52+ data = {
53+ "username" : self .username ,
54+ "email" : self .email ,
55+ "password" : self .password ,
56+ "password_confirm" : self .password
57+ }
58+ response = self .client .post (url , data = data )
59+ response_data = response .json ()
4760
48- # def test_api_user_create(self):
49- # url = "/api/v1/users/user/"
50- # def check_user():
51- # data = {
52- # "username": "Admin2",
53- # "email": "admin2@example.com",
54- # "password": "password",
55- # "password_confirm": "password"
56- # }
61+ self .assertEqual (response .status_code , 400 )
62+ self .assertEqual (response_data ['username' ][0 ], 'A user with that username already exists.' )
63+ self .assertEqual (response_data ['email' ][0 ], 'User with this email address already exists.' )
5764
58- # invalid_data = {
59- # "username": self.username,
60- # "email": self.email,
61- # "password": self.password,
62- # "password_confirm": self.password
63- # }
64-
65- # response = self.client.post(url, data=valid_data)
66-
65+ def _check_user_passwords_field ():
66+ data = {
67+ "username" : "Admin2" ,
68+ "email" : "admin2@example.com" ,
69+ "password" : "password" ,
70+ "password_confirm" : "error password"
71+ }
72+ response = self .client .post (url , data = data )
73+ response_data = response .json ()
74+
75+ self .assertEqual (response_data ['password' ][0 ], 'Password didnt match!' )
76+
77+ def _create_user ():
78+ data = {
79+ "username" : "Admin2" ,
80+ "email" : "admin2@example.com" ,
81+ "password" : "password" ,
82+ "password_confirm" : "password"
83+ }
84+ response = self .client .post (url , data = data )
85+ response_data = response .json ()
86+
87+ self .assertEqual (response .status_code , 201 )
88+ self .assertEqual (response_data ['username' ], data ["username" ])
89+ self .assertEqual (response_data ['email' ], data ["email" ])
90+ self .assertEqual (response_data ['id' ], 2 )
91+ self .assertEqual (response_data ['profiles' ]['id' ], response_data ['id' ])
6792
68- # print(response.status_code)
69- # print(response.json())
7093
94+ _check_user_error_field ()
95+ _check_user_passwords_field ()
96+ _create_user ()
0 commit comments