summaryrefslogtreecommitdiff
path: root/test/web/mastodon_api/controllers/domain_block_controller_test.exs
diff options
context:
space:
mode:
authorrinpatch <rinpatch@sdf.org>2020-03-08 10:38:35 +0000
committerrinpatch <rinpatch@sdf.org>2020-03-08 10:38:35 +0000
commite8493431bfc16977e43715bf8bdb09ac46580028 (patch)
tree2e1a0068583ca62870a15590c4ccba237999f51a /test/web/mastodon_api/controllers/domain_block_controller_test.exs
parent42f76306e7fe69fc51be00285a4fef8569f54989 (diff)
parente7c49d51d724680c1f19888ea409687733753c7b (diff)
downloadpleroma-e8493431bfc16977e43715bf8bdb09ac46580028.tar.gz
pleroma-e8493431bfc16977e43715bf8bdb09ac46580028.zip
Merge branch 'release/2.0.0' into 'stable'
Release/2.0.0 See merge request pleroma/pleroma!2273
Diffstat (limited to 'test/web/mastodon_api/controllers/domain_block_controller_test.exs')
-rw-r--r--test/web/mastodon_api/controllers/domain_block_controller_test.exs45
1 files changed, 45 insertions, 0 deletions
diff --git a/test/web/mastodon_api/controllers/domain_block_controller_test.exs b/test/web/mastodon_api/controllers/domain_block_controller_test.exs
new file mode 100644
index 000000000..8d24b3b88
--- /dev/null
+++ b/test/web/mastodon_api/controllers/domain_block_controller_test.exs
@@ -0,0 +1,45 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Web.MastodonAPI.DomainBlockControllerTest do
+ use Pleroma.Web.ConnCase
+
+ alias Pleroma.User
+
+ import Pleroma.Factory
+
+ test "blocking / unblocking a domain" do
+ %{user: user, conn: conn} = oauth_access(["write:blocks"])
+ other_user = insert(:user, %{ap_id: "https://dogwhistle.zone/@pundit"})
+
+ ret_conn = post(conn, "/api/v1/domain_blocks", %{"domain" => "dogwhistle.zone"})
+
+ assert %{} = json_response(ret_conn, 200)
+ user = User.get_cached_by_ap_id(user.ap_id)
+ assert User.blocks?(user, other_user)
+
+ ret_conn = delete(conn, "/api/v1/domain_blocks", %{"domain" => "dogwhistle.zone"})
+
+ assert %{} = json_response(ret_conn, 200)
+ user = User.get_cached_by_ap_id(user.ap_id)
+ refute User.blocks?(user, other_user)
+ end
+
+ test "getting a list of domain blocks" do
+ %{user: user, conn: conn} = oauth_access(["read:blocks"])
+
+ {:ok, user} = User.block_domain(user, "bad.site")
+ {:ok, user} = User.block_domain(user, "even.worse.site")
+
+ conn =
+ conn
+ |> assign(:user, user)
+ |> get("/api/v1/domain_blocks")
+
+ domain_blocks = json_response(conn, 200)
+
+ assert "bad.site" in domain_blocks
+ assert "even.worse.site" in domain_blocks
+ end
+end