diff options
author | lain <lain@soykaf.club> | 2019-06-04 13:58:36 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-06-04 13:58:36 +0200 |
commit | a3a7178b604d8bc589a8e3ac06abac094cce5e17 (patch) | |
tree | 402df9b4bb456c54e1f5089e907e5770081487d1 | |
parent | 0eb7464c10df109e8aacf734bb092f69192ab5c2 (diff) | |
download | pleroma-a3a7178b604d8bc589a8e3ac06abac094cce5e17.tar.gz |
Participations: Filter out participations without activities.
-rw-r--r-- | lib/pleroma/conversation/participation.ex | 1 | ||||
-rw-r--r-- | test/conversation/participation_test.exs | 13 |
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 |