From 4a7f151452638b93ed64bae62c2bca9d8b9e3073 Mon Sep 17 00:00:00 2001 From: Erlend Ydse <3837057-eryd37@users.noreply.gitlab.com> Date: Mon, 15 Mar 2021 18:10:14 +0100 Subject: [PATCH 1/3] Fix adding friends and updating profile image and bio --- backend/secfit/users/views.py | 2 +- frontend/www/scripts/friends.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/secfit/users/views.py b/backend/secfit/users/views.py index 49ec375..421e03a 100644 --- a/backend/secfit/users/views.py +++ b/backend/secfit/users/views.py @@ -83,7 +83,7 @@ class UserDetail( return self.update(request, *args, **kwargs) def patch(self, request, *args, **kwargs): - self.serializer_class = UserPutSerializer + #self.serializer_class = UserPutSerializer return self.partial_update(request, *args, **kwargs) diff --git a/frontend/www/scripts/friends.js b/frontend/www/scripts/friends.js index 934c084..0455653 100644 --- a/frontend/www/scripts/friends.js +++ b/frontend/www/scripts/friends.js @@ -166,7 +166,7 @@ function renderSearchResult(friends) { a.href = `profile.html?id=${friend.id}`; const button = divFriendRequest.querySelector("button"); - button.addEventListener("click", () => addFriend(friend.id)); + button.addEventListener("click", () => addFriend(friend.url)); container.appendChild(cloneFriendRequest); }); -- GitLab From 211d61b43b8dd43824afa8a53b0352fb11367319 Mon Sep 17 00:00:00 2001 From: Erlend Ydse <3837057-eryd37@users.noreply.gitlab.com> Date: Mon, 15 Mar 2021 18:17:00 +0100 Subject: [PATCH 2/3] Fix broken tests --- backend/secfit/tests/tests_edit_profile_api.py | 6 +++--- backend/secfit/tests/tests_friend_requests_api.py | 8 ++++---- backend/secfit/users/serializers.py | 3 ++- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/backend/secfit/tests/tests_edit_profile_api.py b/backend/secfit/tests/tests_edit_profile_api.py index fbc8076..ffcebf3 100644 --- a/backend/secfit/tests/tests_edit_profile_api.py +++ b/backend/secfit/tests/tests_edit_profile_api.py @@ -45,19 +45,19 @@ class EditProfileAPITests(APITestCase): img.save("test.jpg") with open("test.jpg", "rb") as f: data = { "profile_image": f } - response = self.client.patch(path=f"{self.path}{self.alice_data['id']}/", data=data) + response = self.client.put(path=f"{self.path}{self.alice_data['id']}/", data=data) self.assertEqual(response.status_code, 200) self.assertContains(response=response, text="test.jpg") img = Image.new(mode="RGB", size=(400, 400), color=(255, 0, 0)) img.save("test2.jpg") with open("test2.jpg", "rb") as f: data = { "profile_image": f } - response = self.client.patch(path=f"{self.path}{self.alice_data['id']}/", data=data) + response = self.client.put(path=f"{self.path}{self.alice_data['id']}/", data=data) self.assertEqual(response.status_code, 200) self.assertContains(response=response, text="test2.jpg") def test_edit_bio(self): data = { "bio": "hello", "athletes": self.alice_data['athletes'] } - response = self.client.patch(path=f"{self.path}{self.alice_data['id']}/", data=data) + response = self.client.put(path=f"{self.path}{self.alice_data['id']}/", data=data) self.assertEqual(response.status_code, 200) self.assertEqual(response.data["bio"], "hello") \ No newline at end of file diff --git a/backend/secfit/tests/tests_friend_requests_api.py b/backend/secfit/tests/tests_friend_requests_api.py index 9b0a901..7dfc8ec 100644 --- a/backend/secfit/tests/tests_friend_requests_api.py +++ b/backend/secfit/tests/tests_friend_requests_api.py @@ -54,16 +54,16 @@ class FriendRequestAPITests(APITestCase): def test_can_add_friends(self): data = { "symmetric_friends": self.bob_data['id'] } - response = self.client.patch(path=f"{self.path}{self.alice_data['id']}/", data=data) + response = self.client.put(path=f"{self.path}{self.alice_data['id']}/", data=data) data = { "symmetric_friends": self.clair_data['id'] } - response = self.client.patch(path=f"{self.path}{self.alice_data['id']}/", data=data) + response = self.client.put(path=f"{self.path}{self.alice_data['id']}/", data=data) self.assertEqual(len(response.data["symmetric_friends"]), 2) def test_can_add_and_view_friends(self): data = { "symmetric_friends": self.bob_data['id'] } - response = self.client.patch(path=f"{self.path}{self.alice_data['id']}/", data=data) + response = self.client.put(path=f"{self.path}{self.alice_data['id']}/", data=data) data = { "symmetric_friends": self.clair_data['id'] } - response = self.client.patch(path=f"{self.path}{self.alice_data['id']}/", data=data) + response = self.client.put(path=f"{self.path}{self.alice_data['id']}/", data=data) self.assertEqual(len(response.data["symmetric_friends"]), 2) response = self.client.get(path=f"{self.path}{self.alice_data['id']}/") self.assertEqual(len(response.data["symmetric_friends"]), 2) diff --git a/backend/secfit/users/serializers.py b/backend/secfit/users/serializers.py index 8e3a7a3..54184bf 100644 --- a/backend/secfit/users/serializers.py +++ b/backend/secfit/users/serializers.py @@ -100,7 +100,8 @@ class UserPutSerializer(serializers.ModelSerializer): if "profile_image" in validated_data: instance.profile_image = validated_data["profile_image"] if "symmetric_friends" in validated_data: - instance.symmetric_friends.add(validated_data["symmetric_friends"][0]) + if len(validated_data["symmetric_friends"]) > 0: + instance.symmetric_friends.add(validated_data["symmetric_friends"][0]) return instance -- GitLab From 6fb7450c0f0a38488b650b571bfc42237d53c768 Mon Sep 17 00:00:00 2001 From: Erlend Ydse <3837057-eryd37@users.noreply.gitlab.com> Date: Mon, 15 Mar 2021 18:21:38 +0100 Subject: [PATCH 3/3] Update 2wd test --- backend/secfit/tests/tests_2wd_register.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/backend/secfit/tests/tests_2wd_register.py b/backend/secfit/tests/tests_2wd_register.py index b42a865..a0bacf6 100644 --- a/backend/secfit/tests/tests_2wd_register.py +++ b/backend/secfit/tests/tests_2wd_register.py @@ -129,7 +129,6 @@ class UserRegistration2WayDomainTests(APITestCase): self.assertEquals((status_code == 201), validity) except AssertionError as e: failures.append({ first_field.name: first_field.value, second_field.name: second_field.value, "error": e }) - print(failures) - print(len(failures)) + self.assertEqual(len(failures), 0) \ No newline at end of file -- GitLab