Filter outstanding follower requests from deactivated accounts
This commit is contained in:
parent
b4a502fc8b
commit
67ab580553
|
@ -124,6 +124,7 @@ def get_follow_requests(%User{id: id}) do
|
|||
|> join(:inner, [r], f in assoc(r, :follower))
|
||||
|> where([r], r.state == ^:follow_pending)
|
||||
|> where([r], r.following_id == ^id)
|
||||
|> where([r, f], f.deactivated != true)
|
||||
|> select([r, f], f)
|
||||
|> Repo.all()
|
||||
end
|
||||
|
|
|
@ -199,6 +199,16 @@ test "doesn't return already accepted or duplicate follow requests" do
|
|||
assert [^pending_follower] = User.get_follow_requests(locked)
|
||||
end
|
||||
|
||||
test "doesn't return follow requests for deactivated accounts" do
|
||||
locked = insert(:user, locked: true)
|
||||
pending_follower = insert(:user, %{deactivated: true})
|
||||
|
||||
CommonAPI.follow(pending_follower, locked)
|
||||
|
||||
assert true == pending_follower.deactivated
|
||||
assert [] = User.get_follow_requests(locked)
|
||||
end
|
||||
|
||||
test "clears follow requests when requester is blocked" do
|
||||
followed = insert(:user, locked: true)
|
||||
follower = insert(:user)
|
||||
|
|
Loading…
Reference in a new issue