aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2019-06-04 13:58:36 +0200
committerlain <lain@soykaf.club>2019-06-04 13:58:36 +0200
commita3a7178b604d8bc589a8e3ac06abac094cce5e17 (patch)
tree402df9b4bb456c54e1f5089e907e5770081487d1
parent0eb7464c10df109e8aacf734bb092f69192ab5c2 (diff)
downloadpleroma-a3a7178b604d8bc589a8e3ac06abac094cce5e17.tar.gz
Participations: Filter out participations without activities.
-rw-r--r--lib/pleroma/conversation/participation.ex1
-rw-r--r--test/conversation/participation_test.exs13
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/pleroma/conversation/participation.ex b/lib/pleroma/conversation/participation.ex
index 2a11f9069..2c13c4b40 100644
--- a/lib/pleroma/conversation/participation.ex
+++ b/lib/pleroma/conversation/participation.ex
@@ -79,5 +79,6 @@ defmodule Pleroma.Conversation.Participation do
| last_activity_id: activity_id
}
end)
+ |> Enum.filter(& &1.last_activity_id)
end
end
diff --git a/test/conversation/participation_test.exs b/test/conversation/participation_test.exs
index 568953b07..0e60bfca5 100644
--- a/test/conversation/participation_test.exs
+++ b/test/conversation/participation_test.exs
@@ -86,4 +86,17 @@ defmodule Pleroma.Conversation.ParticipationTest do
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