Pleroma Conversations API: Add a way to set recipients.
This commit is contained in:
parent
eee98aaa73
commit
3af6d14da7
6 changed files with 120 additions and 2 deletions
|
|
@ -7,6 +7,7 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do
|
|||
|
||||
alias Pleroma.Conversation.Participation
|
||||
alias Pleroma.Web.CommonAPI
|
||||
alias Pleroma.Repo
|
||||
|
||||
import Pleroma.Factory
|
||||
|
||||
|
|
@ -42,4 +43,34 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do
|
|||
id_two = activity_two.id
|
||||
assert [%{"id" => ^id_one}, %{"id" => ^id_two}] = result
|
||||
end
|
||||
|
||||
test "PATCH /api/v1/pleroma/conversations/:id", %{conn: conn} do
|
||||
user = insert(:user)
|
||||
other_user = insert(:user)
|
||||
|
||||
{:ok, _activity} = CommonAPI.post(user, %{"status" => "Hi", "visibility" => "direct"})
|
||||
|
||||
[participation] = Participation.for_user(user)
|
||||
|
||||
participation = Repo.preload(participation, :recipients)
|
||||
|
||||
assert [user] == participation.recipients
|
||||
assert other_user not in participation.recipients
|
||||
|
||||
result =
|
||||
conn
|
||||
|> assign(:user, user)
|
||||
|> patch("/api/v1/pleroma/conversations/#{participation.id}", %{
|
||||
"recipients" => [user.id, other_user.id]
|
||||
})
|
||||
|> json_response(200)
|
||||
|
||||
assert result["id"] == participation.id |> to_string
|
||||
|
||||
assert recipients = result["pleroma"]["recipients"]
|
||||
recipient_ids = Enum.map(recipients, & &1["id"])
|
||||
|
||||
assert user.id in recipient_ids
|
||||
assert other_user.id in recipient_ids
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue