Remove Reply-To from report emails
[akkoma] / test / conversation / participation_test.exs
index 5791fa0dbec86c3060ce4b8642c540b2c9821a05..2a03e5d67a722f4459fbef1174f6ef8b25a9f920 100644 (file)
@@ -67,25 +67,39 @@ defmodule Pleroma.Conversation.ParticipationTest do
         "in_reply_to_status_id" => activity_one.id
       })
 
-    assert [participation_one, participation_two] =
-             Participation.for_user(user)
-             |> Repo.preload(:conversation)
+    assert [participation_one, participation_two] = Participation.for_user(user)
 
-    assert participation_one.conversation.ap_id == activity_three.data["object"]["context"]
-    assert participation_two.conversation.ap_id == activity_two.data["object"]["context"]
+    object2 = Pleroma.Object.normalize(activity_two)
+    object3 = Pleroma.Object.normalize(activity_three)
+
+    user = Repo.get(Pleroma.User, user.id)
+
+    assert participation_one.conversation.ap_id == object3.data["context"]
+    assert participation_two.conversation.ap_id == object2.data["context"]
+    assert participation_one.conversation.users == [user]
 
     # Pagination
-    assert [participation_one] =
-             Participation.for_user(user, %{limit: 1})
-             |> Repo.preload(:conversation)
+    assert [participation_one] = Participation.for_user(user, %{"limit" => 1})
 
-    assert participation_one.conversation.ap_id == activity_three.data["object"]["context"]
+    assert participation_one.conversation.ap_id == object3.data["context"]
 
     # With last_activity_id
     assert [participation_one] =
-             Participation.for_user_with_last_activity_id(user, %{limit: 1})
-             |> Repo.preload(:conversation)
+             Participation.for_user_with_last_activity_id(user, %{"limit" => 1})
 
     assert participation_one.last_activity_id == activity_three.id
   end
+
+  test "Doesn't die when the conversation gets empty" do
+    user = insert(:user)
+
+    {:ok, activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "direct"})
+    [participation] = Participation.for_user_with_last_activity_id(user)
+
+    assert participation.last_activity_id == activity.id
+
+    {:ok, _} = CommonAPI.delete(activity.id, user)
+
+    [] = Participation.for_user_with_last_activity_id(user)
+  end
 end