diff options
author | Mark Felder <feld@FreeBSD.org> | 2020-07-02 09:57:57 -0500 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2020-07-02 09:57:57 -0500 |
commit | 6b5563ed2cdb0bff95fbc42ba0e4687c8ed1311d (patch) | |
tree | 3dfb2172f49f7ca21f9adaf945897d869de8786d /test/web/common_api/common_api_test.exs | |
parent | f89390110b6b601fc505e63c3e36516d7ca96f5c (diff) | |
parent | 4c044f62258b33a95b8281e1eb42a5e0ce47d42d (diff) | |
download | pleroma-6b5563ed2cdb0bff95fbc42ba0e4687c8ed1311d.tar.gz pleroma-6b5563ed2cdb0bff95fbc42ba0e4687c8ed1311d.zip |
Merge branch 'develop' into feature/1885-MRF-metadata
Diffstat (limited to 'test/web/common_api/common_api_test.exs')
-rw-r--r-- | test/web/common_api/common_api_test.exs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/web/common_api/common_api_test.exs b/test/web/common_api/common_api_test.exs index 6bd26050e..fc3bb845d 100644 --- a/test/web/common_api/common_api_test.exs +++ b/test/web/common_api/common_api_test.exs @@ -25,6 +25,52 @@ defmodule Pleroma.Web.CommonAPITest do setup do: clear_config([:instance, :limit]) setup do: clear_config([:instance, :max_pinned_statuses]) + describe "blocking" do + setup do + blocker = insert(:user) + blocked = insert(:user) + User.follow(blocker, blocked) + User.follow(blocked, blocker) + %{blocker: blocker, blocked: blocked} + end + + test "it blocks and federates", %{blocker: blocker, blocked: blocked} do + clear_config([:instance, :federating], true) + + with_mock Pleroma.Web.Federator, + publish: fn _ -> nil end do + assert {:ok, block} = CommonAPI.block(blocker, blocked) + + assert block.local + assert User.blocks?(blocker, blocked) + refute User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + + assert called(Pleroma.Web.Federator.publish(block)) + end + end + + test "it blocks and does not federate if outgoing blocks are disabled", %{ + blocker: blocker, + blocked: blocked + } do + clear_config([:instance, :federating], true) + clear_config([:activitypub, :outgoing_blocks], false) + + with_mock Pleroma.Web.Federator, + publish: fn _ -> nil end do + assert {:ok, block} = CommonAPI.block(blocker, blocked) + + assert block.local + assert User.blocks?(blocker, blocked) + refute User.following?(blocker, blocked) + refute User.following?(blocked, blocker) + + refute called(Pleroma.Web.Federator.publish(block)) + end + end + end + describe "posting chat messages" do setup do: clear_config([:instance, :chat_limit]) |