diff options
author | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2020-06-26 17:41:00 +0000 |
---|---|---|
committer | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2020-06-26 17:41:00 +0000 |
commit | bf1c5e255ae0ab297aac3094d6a899c24c29fd2f (patch) | |
tree | b61c301b4daa6bcb9633dedf09f687d69cf6edf1 /test/web/activity_pub/side_effects_test.exs | |
parent | 09478c9cf713eefdfdf585f0196efdf00b9c0baf (diff) | |
parent | 15a8b703185c685fc3d25a381fcb9dee522c78bf (diff) | |
download | pleroma-bf1c5e255ae0ab297aac3094d6a899c24c29fd2f.tar.gz pleroma-bf1c5e255ae0ab297aac3094d6a899c24c29fd2f.zip |
Merge branch 'block-handling' into 'develop'
Handle blocks with the pipeline
See merge request pleroma/pleroma!2685
Diffstat (limited to 'test/web/activity_pub/side_effects_test.exs')
-rw-r--r-- | test/web/activity_pub/side_effects_test.exs | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/test/web/activity_pub/side_effects_test.exs b/test/web/activity_pub/side_effects_test.exs index 12c9ef1da..af27c34b4 100644 --- a/test/web/activity_pub/side_effects_test.exs +++ b/test/web/activity_pub/side_effects_test.exs @@ -64,6 +64,47 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do end end + describe "blocking users" do + setup do + user = insert(:user) + blocked = insert(:user) + User.follow(blocked, user) + User.follow(user, blocked) + + {:ok, block_data, []} = Builder.block(user, blocked) + {:ok, block, _meta} = ActivityPub.persist(block_data, local: true) + + %{user: user, blocked: blocked, block: block} + end + + test "it unfollows and blocks", %{user: user, blocked: blocked, block: block} do + assert User.following?(user, blocked) + assert User.following?(blocked, user) + + {:ok, _, _} = SideEffects.handle(block) + + refute User.following?(user, blocked) + refute User.following?(blocked, user) + assert User.blocks?(user, blocked) + end + + test "it blocks but does not unfollow if the relevant setting is set", %{ + user: user, + blocked: blocked, + block: block + } do + clear_config([:activitypub, :unfollow_blocked], false) + assert User.following?(user, blocked) + assert User.following?(blocked, user) + + {:ok, _, _} = SideEffects.handle(block) + + refute User.following?(user, blocked) + assert User.following?(blocked, user) + assert User.blocks?(user, blocked) + end + end + describe "update users" do setup do user = insert(:user) @@ -242,8 +283,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do {:ok, like} = CommonAPI.favorite(user, post.id) {:ok, reaction} = CommonAPI.react_with_emoji(post.id, user, "👍") {:ok, announce} = CommonAPI.repeat(post.id, user) - {:ok, block} = ActivityPub.block(user, poster) - User.block(user, poster) + {:ok, block} = CommonAPI.block(user, poster) {:ok, undo_data, _meta} = Builder.undo(user, like) {:ok, like_undo, _meta} = ActivityPub.persist(undo_data, local: true) |