diff options
author | lambda <pleromagit@rogerbraun.net> | 2018-06-19 09:42:45 +0000 |
---|---|---|
committer | lambda <pleromagit@rogerbraun.net> | 2018-06-19 09:42:45 +0000 |
commit | be800d793605db8dcb46cedd233b672b8e79e1a4 (patch) | |
tree | fd66a81a38509813c447be6af2fc5c74a83ee158 /test/user_test.exs | |
parent | db0731b6ac077c341f6e6779af2c2d5a94d3d14a (diff) | |
parent | 590e8d555557c7f375c15bcbb00ea46cf2dcc4b9 (diff) | |
download | pleroma-be800d793605db8dcb46cedd233b672b8e79e1a4.tar.gz pleroma-be800d793605db8dcb46cedd233b672b8e79e1a4.zip |
Merge branch 'bugfix/block-follow-relationships' into 'develop'
fix follow relationship leaks when blocked
See merge request pleroma/pleroma!230
Diffstat (limited to 'test/user_test.exs')
-rw-r--r-- | test/user_test.exs | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/user_test.exs b/test/user_test.exs index 200352981..352a16687 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -359,6 +359,61 @@ defmodule Pleroma.UserTest do refute User.blocks?(user, blocked_user) end + + test "blocks tear down cyclical follow relationships" do + blocker = insert(:user) + blocked = insert(:user) + + {:ok, blocker} = User.follow(blocker, blocked) + {:ok, blocked} = User.follow(blocked, blocker) + + assert User.following?(blocker, blocked) + assert User.following?(blocked, blocker) + + {:ok, blocker} = User.block(blocker, blocked) + blocked = Repo.get(User, blocked.id) + + assert User.blocks?(blocker, blocked) + + refute User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + end + + test "blocks tear down blocker->blocked follow relationships" do + blocker = insert(:user) + blocked = insert(:user) + + {:ok, blocker} = User.follow(blocker, blocked) + + assert User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + + {:ok, blocker} = User.block(blocker, blocked) + blocked = Repo.get(User, blocked.id) + + assert User.blocks?(blocker, blocked) + + refute User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + end + + test "blocks tear down blocked->blocker follow relationships" do + blocker = insert(:user) + blocked = insert(:user) + + {:ok, blocked} = User.follow(blocked, blocker) + + refute User.following?(blocker, blocked) + assert User.following?(blocked, blocker) + + {:ok, blocker} = User.block(blocker, blocked) + blocked = Repo.get(User, blocked.id) + + assert User.blocks?(blocker, blocked) + + refute User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + end end describe "domain blocking" do |