aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorkaniini <ariadne@dereferenced.org>2019-09-29 11:44:31 +0000
committerkaniini <ariadne@dereferenced.org>2019-09-29 11:44:31 +0000
commit6d74a7528c31e6215d808627f1c393ab53d99782 (patch)
treebf49d43f003a45367145a8d58f9a857d5dc67352 /test
parentf31ad5549b4048e03171ef9ab83ed6c0815745cc (diff)
parent843c11d1f6f2455d5169952592b9b9d18be2a8fb (diff)
downloadpleroma-6d74a7528c31e6215d808627f1c393ab53d99782.tar.gz
Merge branch 'feature/follow-requests-count' into 'develop'
Mastodon API: add follow_requests_count See merge request pleroma/pleroma!1726
Diffstat (limited to 'test')
-rw-r--r--test/web/mastodon_api/views/account_view_test.exs75
1 files changed, 75 insertions, 0 deletions
diff --git a/test/web/mastodon_api/views/account_view_test.exs b/test/web/mastodon_api/views/account_view_test.exs
index f2f334992..d965f76bf 100644
--- a/test/web/mastodon_api/views/account_view_test.exs
+++ b/test/web/mastodon_api/views/account_view_test.exs
@@ -419,4 +419,79 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
} = AccountView.render("account.json", %{user: user, for: user})
end
end
+
+ describe "follow requests counter" do
+ test "shows zero when no follow requests are pending" do
+ user = insert(:user)
+
+ assert %{follow_requests_count: 0} =
+ AccountView.render("account.json", %{user: user, for: user})
+
+ other_user = insert(:user)
+ {:ok, _other_user, user, _activity} = CommonAPI.follow(other_user, user)
+
+ assert %{follow_requests_count: 0} =
+ AccountView.render("account.json", %{user: user, for: user})
+ end
+
+ test "shows non-zero when follow requests are pending" do
+ user = insert(:user, %{info: %{locked: true}})
+
+ assert %{locked: true} = AccountView.render("account.json", %{user: user, for: user})
+
+ other_user = insert(:user)
+ {:ok, _other_user, user, _activity} = CommonAPI.follow(other_user, user)
+
+ assert %{locked: true, follow_requests_count: 1} =
+ AccountView.render("account.json", %{user: user, for: user})
+ end
+
+ test "decreases when accepting a follow request" do
+ user = insert(:user, %{info: %{locked: true}})
+
+ assert %{locked: true} = AccountView.render("account.json", %{user: user, for: user})
+
+ other_user = insert(:user)
+ {:ok, other_user, user, _activity} = CommonAPI.follow(other_user, user)
+
+ assert %{locked: true, follow_requests_count: 1} =
+ AccountView.render("account.json", %{user: user, for: user})
+
+ {:ok, _other_user} = CommonAPI.accept_follow_request(other_user, user)
+
+ assert %{locked: true, follow_requests_count: 0} =
+ AccountView.render("account.json", %{user: user, for: user})
+ end
+
+ test "decreases when rejecting a follow request" do
+ user = insert(:user, %{info: %{locked: true}})
+
+ assert %{locked: true} = AccountView.render("account.json", %{user: user, for: user})
+
+ other_user = insert(:user)
+ {:ok, other_user, user, _activity} = CommonAPI.follow(other_user, user)
+
+ assert %{locked: true, follow_requests_count: 1} =
+ AccountView.render("account.json", %{user: user, for: user})
+
+ {:ok, _other_user} = CommonAPI.reject_follow_request(other_user, user)
+
+ assert %{locked: true, follow_requests_count: 0} =
+ AccountView.render("account.json", %{user: user, for: user})
+ end
+
+ test "shows non-zero when historical unapproved requests are present" do
+ user = insert(:user, %{info: %{locked: true}})
+
+ assert %{locked: true} = AccountView.render("account.json", %{user: user, for: user})
+
+ other_user = insert(:user)
+ {:ok, _other_user, user, _activity} = CommonAPI.follow(other_user, user)
+
+ {:ok, user} = User.update_info(user, &User.Info.user_upgrade(&1, %{locked: false}))
+
+ assert %{locked: false, follow_requests_count: 1} =
+ AccountView.render("account.json", %{user: user, for: user})
+ end
+ end
end