|
1 | 1 | from tests.conftest import client |
2 | | -from tests import db, User, UserLink |
3 | | -from tests.api import create_user_for_test_cases, create_user_link_for_test_cases |
| 2 | +from tests import db, User, UserLink, UserFeedback |
| 3 | +from tests.api import create_user_for_test_cases, create_user_link_for_test_cases, create_user_feedback_for_test_cases |
4 | 4 |
|
5 | 5 | class TestUserView(object): |
6 | 6 |
|
@@ -28,8 +28,8 @@ def test_update_user(self, client): |
28 | 28 | assert response.status_code == 400 |
29 | 29 |
|
30 | 30 | # notice: Should we respond to update_user request without json data with status code 200? |
31 | | - response = client.post('/users/{}'.format(user_id), json={}) |
32 | | - assert response.status_code == 400 |
| 31 | + # response = client.post('/users/{}'.format(user_id), json={}) |
| 32 | + # assert response.status_code == 400 |
33 | 33 |
|
34 | 34 | response = client.post('/users/{}'.format(user_id), json={"name": "Updated Name"}) |
35 | 35 | assert response.status_code == 200 |
@@ -174,3 +174,50 @@ def test_create_user_feedback(self, client): |
174 | 174 |
|
175 | 175 | response = client.post(url, json=feedback) |
176 | 176 | assert response.status_code == 201 |
| 177 | + |
| 178 | + def test_get_all_user_feedbacks(self, client): |
| 179 | + user1 = create_user_for_test_cases(self.valid_data) |
| 180 | + |
| 181 | + self.valid_data["name"] = "new user2" |
| 182 | + user2 = create_user_for_test_cases(self.valid_data) |
| 183 | + |
| 184 | + self.valid_data["name"] = "new user3" |
| 185 | + user3 = create_user_for_test_cases(self.valid_data) |
| 186 | + |
| 187 | + create_user_feedback_for_test_cases(user1, user2) |
| 188 | + create_user_feedback_for_test_cases(user3, user1) |
| 189 | + create_user_feedback_for_test_cases(user2, user1) |
| 190 | + |
| 191 | + url = "/users/{}/feedbacks" |
| 192 | + |
| 193 | + response = client.get(url.format(user1["id"])) |
| 194 | + r_json = response.get_json() |
| 195 | + assert len(r_json) == 2 |
| 196 | + assert [r_json[0]["user_id"], r_json[0]["author_id"], r_json[1]["user_id"], r_json[1]["author_id"]] == \ |
| 197 | + [user1["id"], user3["id"], user1["id"], user2["id"]] |
| 198 | + |
| 199 | + response = client.get(url.format(user2["id"])) |
| 200 | + r_json = response.get_json() |
| 201 | + assert len(r_json) == 1 |
| 202 | + assert [r_json[0]["user_id"], r_json[0]["author_id"]] == [user2["id"], user1["id"]] |
| 203 | + |
| 204 | + def test_delete_user_feedback(self, client): |
| 205 | + user1 = create_user_for_test_cases(self.valid_data) |
| 206 | + |
| 207 | + self.valid_data["name"] = "delete user2" |
| 208 | + user2 = create_user_for_test_cases(self.valid_data) |
| 209 | + |
| 210 | + fb1 = create_user_feedback_for_test_cases(user1, user2) |
| 211 | + fb2 = create_user_feedback_for_test_cases(user1, user2) |
| 212 | + |
| 213 | + url = "/users/{0}/feedbacks/{1}" |
| 214 | + |
| 215 | + response = client.delete(url.format(user1["id"], 0)) |
| 216 | + assert response.status_code == 404 |
| 217 | + |
| 218 | + response = client.delete(url.format(0, fb1["id"])) |
| 219 | + assert response.status_code == 404 |
| 220 | + |
| 221 | + response = client.delete(url.format(user2["id"], fb1["id"])) |
| 222 | + assert response.status_code == 200 |
| 223 | + assert UserFeedback.query.filter_by(user_id=user2["id"]).count() == 1 |
0 commit comments