|
3 | 3 | from rest_framework.test import APIClient
|
4 | 4 | from rest_framework import status
|
5 | 5 |
|
6 |
| -from todo.views.team import TeamListView, JoinTeamByInviteCodeView |
| 6 | +from todo.views.team import TeamListView, JoinTeamByInviteCodeView, RemoveTeamMemberView |
7 | 7 | from todo.dto.responses.get_user_teams_response import GetUserTeamsResponse
|
8 | 8 | from todo.dto.team_dto import TeamDTO
|
9 | 9 | from datetime import datetime, timezone
|
@@ -138,30 +138,47 @@ def test_join_team_by_invite_code_validation_error(self):
|
138 | 138 |
|
139 | 139 | class RemoveTeamMemberViewTests(TestCase):
|
140 | 140 | def setUp(self):
|
141 |
| - self.client = APIClient() |
| 141 | + self.view = RemoveTeamMemberView() |
142 | 142 | self.team_id = "507f1f77bcf86cd799439012"
|
143 | 143 | self.user_id = "507f1f77bcf86cd799439011"
|
144 |
| - self.url = f"/teams/{self.team_id}/members/{self.user_id}/" |
| 144 | + self.mock_user_id = "507f1f77bcf86cd799439013" |
145 | 145 |
|
146 | 146 | @patch("todo.views.team.TeamService.remove_member_from_team")
|
147 | 147 | def test_remove_member_success(self, mock_remove):
|
148 | 148 | mock_remove.return_value = True
|
149 |
| - response = self.client.delete(self.url) |
| 149 | + |
| 150 | + mock_request = MagicMock() |
| 151 | + mock_request.user_id = self.mock_user_id |
| 152 | + |
| 153 | + response = self.view.delete(mock_request, self.team_id, self.user_id) |
| 154 | + |
150 | 155 | self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
151 |
| - mock_remove.assert_called_once_with(user_id=self.user_id, team_id=self.team_id) |
| 156 | + mock_remove.assert_called_once_with( |
| 157 | + user_id=self.user_id, team_id=self.team_id, removed_by_user_id=self.mock_user_id |
| 158 | + ) |
152 | 159 |
|
153 | 160 | @patch("todo.views.team.TeamService.remove_member_from_team")
|
154 | 161 | def test_remove_member_not_found(self, mock_remove):
|
155 | 162 | from todo.services.team_service import TeamService
|
156 | 163 |
|
157 | 164 | mock_remove.side_effect = TeamService.TeamOrUserNotFound()
|
158 |
| - response = self.client.delete(self.url) |
| 165 | + |
| 166 | + mock_request = MagicMock() |
| 167 | + mock_request.user_id = self.mock_user_id |
| 168 | + |
| 169 | + response = self.view.delete(mock_request, self.team_id, self.user_id) |
| 170 | + |
159 | 171 | self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
|
160 | 172 | self.assertIn("not found", response.data["detail"])
|
161 | 173 |
|
162 | 174 | @patch("todo.views.team.TeamService.remove_member_from_team")
|
163 | 175 | def test_remove_member_generic_error(self, mock_remove):
|
164 | 176 | mock_remove.side_effect = Exception("Something went wrong")
|
165 |
| - response = self.client.delete(self.url) |
| 177 | + |
| 178 | + mock_request = MagicMock() |
| 179 | + mock_request.user_id = self.mock_user_id |
| 180 | + |
| 181 | + response = self.view.delete(mock_request, self.team_id, self.user_id) |
| 182 | + |
166 | 183 | self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
167 | 184 | self.assertIn("Something went wrong", response.data["detail"])
|
0 commit comments