Skip to content

Commit b604a4a

Browse files
committed
- test: add test for edit user
1 parent 8b732db commit b604a4a

File tree

3 files changed

+37
-3
lines changed

3 files changed

+37
-3
lines changed

api/routers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
router = routers.SimpleRouter(trailing_slash=False)
66

7-
router.register(r'edit', UserViewSet, basename='users')
7+
router.register(r'edit', UserViewSet, basename='user-edit')
88

99
router.register(r'register', RegisterViewSet, basename='register')
1010

api/user/tests.py

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,40 @@
1+
from django.urls import reverse
12
from rest_framework.test import APITestCase
3+
from rest_framework import status
24

35

46
class UserViewSetTest(APITestCase):
7+
base_edit_url = reverse('api:user-edit-list')
8+
base_url_login = reverse("api:login-list")
9+
10+
11+
data_login = {
12+
"password": "12345678",
13+
"email": "[email protected]"
14+
}
515

616
def test_edit(self):
7-
pass
17+
18+
# Login to retrieve token
19+
20+
response = self.client.post(f"{self.base_url_login}", data=self.data_login)
21+
response_data = response.json()
22+
23+
token = response_data['token']
24+
user_id = response_data['user']["_id"]
25+
26+
self.client.credentials(HTTP_AUTHORIZATION=token)
27+
28+
# Edit user
29+
30+
data = {
31+
"email": "[email protected]",
32+
"userID": user_id,
33+
}
34+
35+
response = self.client.post(f"{self.base_edit_url}", data=data)
36+
self.assertEqual(response.status_code, status.HTTP_200_OK)
37+
38+
response_data = response.json()
39+
40+
self.assertEqual(response_data["success"], True)

api/user/viewsets.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,9 @@ def create(self, request, *args, **kwargs):
3434
if not user_id:
3535
raise ValidationError(self.error_message)
3636

37-
if self.request.user.pk != user_id and not self.request.user.is_superuser:
37+
if self.request.user.pk != int(user_id) and not self.request.user.is_superuser:
3838
raise ValidationError(self.error_message)
39+
3940
self.update(request)
4041

4142
return Response({

0 commit comments

Comments
 (0)