summaryrefslogtreecommitdiff
path: root/test/web/mastodon_api/mastodon_api_controller_test.exs
diff options
context:
space:
mode:
Diffstat (limited to 'test/web/mastodon_api/mastodon_api_controller_test.exs')
-rw-r--r--test/web/mastodon_api/mastodon_api_controller_test.exs34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs
index 936d27182..553581be4 100644
--- a/test/web/mastodon_api/mastodon_api_controller_test.exs
+++ b/test/web/mastodon_api/mastodon_api_controller_test.exs
@@ -124,6 +124,40 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
assert Repo.get(Activity, id)
end
+ test "posting a direct status", %{conn: conn} do
+ user1 = insert(:user)
+ user2 = insert(:user)
+ content = "direct cofe @#{user2.nickname}"
+
+ conn =
+ conn
+ |> assign(:user, user1)
+ |> post("api/v1/statuses", %{"status" => content, "visibility" => "direct"})
+
+ assert %{"id" => id, "visibility" => "direct"} = json_response(conn, 200)
+ assert activity = Repo.get(Activity, id)
+ assert user2.follower_address not in activity.data["to"]
+ end
+
+ test "direct timeline", %{conn: conn} do
+ dm = insert(:direct_note_activity)
+ reg_note = insert(:note_activity)
+
+ recipient = User.get_by_ap_id(hd(dm.recipients))
+
+ conn =
+ conn
+ |> assign(:user, recipient)
+ |> get("api/v1/timelines/direct")
+
+ resp = json_response(conn, 200)
+ first_status = hd(resp)
+
+ assert length(resp) == 1
+ assert %{"visibility" => "direct"} = first_status
+ assert first_status["url"] != reg_note.data["id"]
+ end
+
test "replying to a status", %{conn: conn} do
user = insert(:user)