Skip to content

Commit ff1b123

Browse files
committed
create User api tests
1 parent 8a0e8aa commit ff1b123

File tree

1 file changed

+46
-20
lines changed
  • apps/users/api_endpoints/users/User

1 file changed

+46
-20
lines changed

apps/users/api_endpoints/users/User/tests.py

Lines changed: 46 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)