From 07afb9b537fd8966ceefda74f978cf7cfd2c09ea Mon Sep 17 00:00:00 2001 From: Sachin Joshi Date: Mon, 8 Apr 2019 15:16:18 +0545 Subject: [PATCH] update the follower count when a follower is blocked --- lib/pleroma/user.ex | 2 ++ test/user_test.exs | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 5012aef77..a6e2c8b97 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -937,6 +937,8 @@ def block(blocker, %User{ap_id: ap_id} = blocked) do unfollow(blocked, blocker) end + {:ok, blocker} = update_follower_count(blocker) + info_cng = blocker.info |> User.Info.add_to_block(ap_id) diff --git a/test/user_test.exs b/test/user_test.exs index 38712cebb..4f98af683 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -1125,4 +1125,21 @@ test "bookmarks" do assert {:ok, user_state3} = User.bookmark(user, id2) assert user_state3.bookmarks == [id2] end + + test "follower count is updated when a follower is blocked" do + user = insert(:user) + follower = insert(:user) + follower2 = insert(:user) + follower3 = insert(:user) + + {:ok, follower} = Pleroma.User.follow(follower, user) + {:ok, _follower2} = Pleroma.User.follow(follower2, user) + {:ok, _follower3} = Pleroma.User.follow(follower3, user) + + {:ok, _} = Pleroma.User.block(user, follower) + + user_show = Pleroma.Web.TwitterAPI.UserView.render("show.json", %{user: user}) + + assert Map.get(user_show, "followers_count") == 2 + end end