aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authoreal <eal@waifu.club>2017-11-08 00:04:53 +0200
committereal <eal@waifu.club>2017-11-08 00:04:53 +0200
commit6c0758e041e63d9a8792d2fe7760813f074bc06e (patch)
treee0406fd54ddedb1780289d643a230ea32ac6a05b /test
parentbe67db55475f2dc44590680242e116d3d0d4c1ec (diff)
downloadpleroma-6c0758e041e63d9a8792d2fe7760813f074bc06e.tar.gz
TwitterAPI: Add blocks.
Diffstat (limited to 'test')
-rw-r--r--test/web/twitter_api/twitter_api_controller_test.exs43
-rw-r--r--test/web/twitter_api/twitter_api_test.exs34
2 files changed, 77 insertions, 0 deletions
diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs
index 798309f7d..6bdf29a13 100644
--- a/test/web/twitter_api/twitter_api_controller_test.exs
+++ b/test/web/twitter_api/twitter_api_controller_test.exs
@@ -277,6 +277,49 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
end
end
+ describe "POST /blocks/create.json" do
+ setup [:valid_user]
+ test "without valid credentials", %{conn: conn} do
+ conn = post conn, "/api/blocks/create.json"
+ assert json_response(conn, 403) == %{"error" => "Invalid credentials."}
+ end
+
+ test "with credentials", %{conn: conn, user: current_user} do
+ blocked = insert(:user)
+
+ conn = conn
+ |> with_credentials(current_user.nickname, "test")
+ |> post("/api/blocks/create.json", %{user_id: blocked.id})
+
+ current_user = Repo.get(User, current_user.id)
+ assert User.blocks?(current_user, blocked)
+ assert json_response(conn, 200) == UserView.render("show.json", %{user: blocked, for: current_user})
+ end
+ end
+
+ describe "POST /blocks/destroy.json" do
+ setup [:valid_user]
+ test "without valid credentials", %{conn: conn} do
+ conn = post conn, "/api/blocks/destroy.json"
+ assert json_response(conn, 403) == %{"error" => "Invalid credentials."}
+ end
+
+ test "with credentials", %{conn: conn, user: current_user} do
+ blocked = insert(:user)
+
+ {:ok, current_user} = User.block(current_user, blocked)
+ assert User.blocks?(current_user, blocked)
+
+ conn = conn
+ |> with_credentials(current_user.nickname, "test")
+ |> post("/api/blocks/destroy.json", %{user_id: blocked.id})
+
+ current_user = Repo.get(User, current_user.id)
+ assert current_user.info["blocks"] == []
+ assert json_response(conn, 200) == UserView.render("show.json", %{user: blocked, for: current_user})
+ end
+ end
+
describe "GET /help/test.json" do
test "returns \"ok\"", %{conn: conn} do
conn = get conn, "/api/help/test.json"
diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs
index 1ec9ef388..994cc8f90 100644
--- a/test/web/twitter_api/twitter_api_test.exs
+++ b/test/web/twitter_api/twitter_api_test.exs
@@ -224,6 +224,40 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
assert msg == "Not subscribed!"
end
+ test "Block another user using user_id" do
+ user = insert(:user)
+ blocked = insert(:user)
+
+ {:ok, user, blocked} = TwitterAPI.block(user, %{"user_id" => blocked.id})
+ assert User.blocks?(user, blocked)
+ end
+
+ test "Block another user using screen_name" do
+ user = insert(:user)
+ blocked = insert(:user)
+
+ {:ok, user, blocked} = TwitterAPI.block(user, %{"screen_name" => blocked.nickname})
+ assert User.blocks?(user, blocked)
+ end
+
+ test "Unblock another user using user_id" do
+ unblocked = insert(:user)
+ user = insert(:user)
+ User.block(user, unblocked)
+
+ {:ok, user, unblocked} = TwitterAPI.unblock(user, %{"user_id" => unblocked.id})
+ assert user.info["blocks"] == []
+ end
+
+ test "Unblock another user using screen_name" do
+ unblocked = insert(:user)
+ user = insert(:user)
+ User.block(user, unblocked)
+
+ {:ok, user, unblocked} = TwitterAPI.unblock(user, %{"screen_name" => unblocked.nickname})
+ assert user.info["blocks"] == []
+ end
+
test "fetch statuses in a context using the conversation id" do
{:ok, user} = UserBuilder.insert()
{:ok, activity} = ActivityBuilder.insert(%{"type" => "Create", "context" => "2hu"})