aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>2019-03-17 15:37:55 +0100
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>2019-03-17 16:51:26 +0100
commit42d034505a1904fae83856ab96f528fe874e70be (patch)
tree982c1f025cc2617d8cd6abf76a6a6881422f4408
parent6d6f48d0795cc12d3c5aca5d90ae51b10086996d (diff)
downloadpleroma-42d034505a1904fae83856ab96f528fe874e70be.tar.gz
Add test for conversation API beforehand
-rw-r--r--test/web/mastodon_api/mastodon_api_controller_test.exs51
1 files changed, 51 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 059d5237d..1560ec79c 100644
--- a/test/web/mastodon_api/mastodon_api_controller_test.exs
+++ b/test/web/mastodon_api/mastodon_api_controller_test.exs
@@ -248,6 +248,57 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
assert status["url"] != direct.data["id"]
end
+ test "Conversations", %{conn: conn} do
+ user_one = insert(:user)
+ user_two = insert(:user)
+
+ {:ok, user_two} = User.follow(user_two, user_one)
+
+ {:ok, direct} =
+ CommonAPI.post(user_one, %{
+ "status" => "Hi @#{user_two.nickname}!",
+ "visibility" => "direct"
+ })
+
+ {:ok, _follower_only} =
+ CommonAPI.post(user_one, %{
+ "status" => "Hi @#{user_two.nickname}!",
+ "visibility" => "private"
+ })
+
+ res_conn =
+ conn
+ |> assign(:user, user)
+ |> get("/api/v1/conversations")
+
+ assert response = json_response(res_conn, 200)
+
+ assert %{
+ "id" => res_id,
+ "accounts" => res_accounts,
+ "last_status" => res_last_status,
+ "unread" => unread
+ } = reponse
+
+ assert unread == false
+
+ # Apparently undocumented API endpoint
+ res_conn =
+ conn
+ |> assign(:user, user)
+ |> get("/api/v1/conversations/#{res_id}/read")
+
+ assert response == json_response(res_conn, 200)
+
+ # (vanilla) Mastodon frontend behaviour
+ res_conn =
+ conn
+ |> assign(:user, user)
+ |> get("/api/v1/statuses/#{res_last_status.id}/context")
+
+ assert %{ancestors: [], descendants: []} == json_response(res_conn, 200)
+ end
+
test "doesn't include DMs from blocked users", %{conn: conn} do
blocker = insert(:user)
blocked = insert(:user)