diff options
author | Maksim Pechnikov <parallel588@gmail.com> | 2019-09-28 10:32:03 +0300 |
---|---|---|
committer | Maksim Pechnikov <parallel588@gmail.com> | 2019-09-28 10:36:04 +0300 |
commit | 1053319cd64a0eab40fab6dc9ce3a1b78711069b (patch) | |
tree | 3d613f7c6129f667ea16aedfe46259d9ca6bde29 /test/web/mastodon_api/controllers/domain_block_controller_test.exs | |
parent | 73ae38ca04df02656bfb239ceba4ffe64879e927 (diff) | |
parent | 50ab06435353144582f6afbf37402aef13c2b3f1 (diff) | |
download | pleroma-1053319cd64a0eab40fab6dc9ce3a1b78711069b.tar.gz |
Merge branch 'develop' into tests/mastodon_api_controller.ex
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.exs | 51 |
1 files changed, 51 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..3c3558385 --- /dev/null +++ b/test/web/mastodon_api/controllers/domain_block_controller_test.exs @@ -0,0 +1,51 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.MastodonAPI.DomainBlockControllerTest do + use Pleroma.Web.ConnCase, async: true + + alias Pleroma.User + + import Pleroma.Factory + + test "blocking / unblocking a domain", %{conn: conn} do + user = insert(:user) + other_user = insert(:user, %{ap_id: "https://dogwhistle.zone/@pundit"}) + + conn = + conn + |> assign(:user, user) + |> post("/api/v1/domain_blocks", %{"domain" => "dogwhistle.zone"}) + + assert %{} = json_response(conn, 200) + user = User.get_cached_by_ap_id(user.ap_id) + assert User.blocks?(user, other_user) + + conn = + build_conn() + |> assign(:user, user) + |> delete("/api/v1/domain_blocks", %{"domain" => "dogwhistle.zone"}) + + assert %{} = json_response(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", %{conn: conn} do + user = insert(:user) + + {: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 |