aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSachin Joshi <satchin.joshi@gmail.com>2019-04-08 15:16:18 +0545
committerSachin Joshi <satchin.joshi@gmail.com>2019-04-09 09:15:45 +0545
commit07afb9b537fd8966ceefda74f978cf7cfd2c09ea (patch)
treeff81f68b5312d4adaf0c98ce7ec4c3014f3ae1e1
parent3c5daa0235aaf47eeeda557fd677e3604cb7d701 (diff)
downloadpleroma-07afb9b537fd8966ceefda74f978cf7cfd2c09ea.tar.gz
update the follower count when a follower is blocked
-rw-r--r--lib/pleroma/user.ex2
-rw-r--r--test/user_test.exs17
2 files changed, 19 insertions, 0 deletions
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 @@ defmodule Pleroma.User 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 @@ defmodule Pleroma.UserTest 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