1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do
6 use Pleroma.Web.ConnCase
8 alias Pleroma.Conversation.Participation
9 alias Pleroma.Web.CommonAPI
11 import Pleroma.Factory
13 test "/api/v1/pleroma/conversations/:id/statuses", %{conn: conn} do
15 other_user = insert(:user)
16 third_user = insert(:user)
19 CommonAPI.post(user, %{"status" => "Hi @#{third_user.nickname}!", "visibility" => "direct"})
22 CommonAPI.post(user, %{"status" => "Hi @#{other_user.nickname}!", "visibility" => "direct"})
24 [participation] = Participation.for_user(other_user)
27 CommonAPI.post(other_user, %{
29 "in_reply_to_status_id" => activity.id,
30 "in_reply_to_conversation_id" => participation.id
35 |> assign(:user, other_user)
36 |> get("/api/v1/pleroma/conversations/#{participation.id}/statuses")
39 assert length(result) == 2
42 id_two = activity_two.id
43 assert [%{"id" => ^id_one}, %{"id" => ^id_two}] = result