Merge branch 'feature/hide-muted-threads-from-timeline' into 'develop'
[akkoma] / test / web / pleroma_api / pleroma_api_controller_test.exs
index 7989defe035b6ad8d97ef62d9b862588a22dcf64..ed6b797272098fdbfa0c50431a7d7dc7fb9de691 100644 (file)
@@ -6,11 +6,29 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do
   use Pleroma.Web.ConnCase
 
   alias Pleroma.Conversation.Participation
-  alias Pleroma.Web.CommonAPI
   alias Pleroma.Repo
+  alias Pleroma.Web.CommonAPI
 
   import Pleroma.Factory
 
+  test "/api/v1/pleroma/conversations/:id", %{conn: conn} do
+    user = insert(:user)
+    other_user = insert(:user)
+
+    {:ok, _activity} =
+      CommonAPI.post(user, %{"status" => "Hi @#{other_user.nickname}!", "visibility" => "direct"})
+
+    [participation] = Participation.for_user(other_user)
+
+    result =
+      conn
+      |> assign(:user, other_user)
+      |> get("/api/v1/pleroma/conversations/#{participation.id}")
+      |> json_response(200)
+
+    assert result["id"] == participation.id |> to_string()
+  end
+
   test "/api/v1/pleroma/conversations/:id/statuses", %{conn: conn} do
     user = insert(:user)
     other_user = insert(:user)
@@ -67,10 +85,10 @@ defmodule Pleroma.Web.PleromaAPI.PleromaAPIControllerTest do
 
     assert result["id"] == participation.id |> to_string
 
-    assert recipients = result["pleroma"]["recipients"]
-    recipient_ids = Enum.map(recipients, & &1["id"])
+    [participation] = Participation.for_user(user)
+    participation = Repo.preload(participation, :recipients)
 
-    assert user.id in recipient_ids
-    assert other_user.id in recipient_ids
+    assert user in participation.recipients
+    assert other_user in participation.recipients
   end
 end