Merge branch 'remove-conversation-api' into 'develop'

Add API endpoint to remove a conversation

Closes #2488

See merge request pleroma/pleroma!3321
This commit is contained in:
rinpatch 2021-02-17 15:14:27 +00:00
commit 158f9f18ee
8 changed files with 76 additions and 9 deletions

View file

@ -359,4 +359,16 @@ defmodule Pleroma.Conversation.ParticipationTest do
assert Participation.unread_count(blocked) == 1
end
end
test "deletes a conversation" do
user = insert(:user)
other_user = insert(:user)
{:ok, _activity} =
CommonAPI.post(user, %{status: "Hey @#{other_user.nickname}.", visibility: "direct"})
assert [participation] = Participation.for_user(other_user)
assert {:ok, _} = Participation.delete(participation)
assert [] == Participation.for_user(other_user)
end
end

View file

@ -217,6 +217,32 @@ defmodule Pleroma.Web.MastodonAPI.ConversationControllerTest do
assert %{"ancestors" => [], "descendants" => []} == json_response(res_conn, 200)
end
test "Removes a conversation", %{user: user_one, conn: conn} do
user_two = insert(:user)
token = insert(:oauth_token, user: user_one, scopes: ["read:statuses", "write:conversations"])
{:ok, _direct} = create_direct_message(user_one, [user_two])
{:ok, _direct} = create_direct_message(user_one, [user_two])
assert [%{"id" => conv1_id}, %{"id" => conv2_id}] =
conn
|> assign(:token, token)
|> get("/api/v1/conversations")
|> json_response_and_validate_schema(200)
assert %{} =
conn
|> assign(:token, token)
|> delete("/api/v1/conversations/#{conv1_id}")
|> json_response_and_validate_schema(200)
assert [%{"id" => ^conv2_id}] =
conn
|> assign(:token, token)
|> get("/api/v1/conversations")
|> json_response_and_validate_schema(200)
end
defp create_direct_message(sender, recips) do
hellos =
recips