|
|
|
@ -6,6 +6,7 @@ defmodule Pleroma.Conversation.ParticipationTest do
|
|
|
|
|
use Pleroma.DataCase
|
|
|
|
|
import Pleroma.Factory
|
|
|
|
|
alias Pleroma.Conversation.Participation
|
|
|
|
|
alias Pleroma.Web.CommonAPI
|
|
|
|
|
|
|
|
|
|
test "it creates a participation for a conversation and a user" do
|
|
|
|
|
user = insert(:user)
|
|
|
|
@ -51,4 +52,33 @@ defmodule Pleroma.Conversation.ParticipationTest do
|
|
|
|
|
|
|
|
|
|
refute participation.read
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "gets all the participations for a user, ordered by updated at descending" do
|
|
|
|
|
user = insert(:user)
|
|
|
|
|
{:ok, activity_one} = CommonAPI.post(user, %{"status" => "x", "visibility" => "direct"})
|
|
|
|
|
:timer.sleep(1000)
|
|
|
|
|
{:ok, activity_two} = CommonAPI.post(user, %{"status" => "x", "visibility" => "direct"})
|
|
|
|
|
:timer.sleep(1000)
|
|
|
|
|
|
|
|
|
|
{:ok, activity_three} =
|
|
|
|
|
CommonAPI.post(user, %{
|
|
|
|
|
"status" => "x",
|
|
|
|
|
"visibility" => "direct",
|
|
|
|
|
"in_reply_to_status_id" => activity_one.id
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
assert [participation_one, participation_two] =
|
|
|
|
|
Participation.for_user(user)
|
|
|
|
|
|> Repo.preload(:conversation)
|
|
|
|
|
|
|
|
|
|
assert participation_one.conversation.ap_id == activity_three.data["object"]["context"]
|
|
|
|
|
assert participation_two.conversation.ap_id == activity_two.data["object"]["context"]
|
|
|
|
|
|
|
|
|
|
# Pagination
|
|
|
|
|
assert [participation_one] =
|
|
|
|
|
Participation.for_user(user, %{limit: 1})
|
|
|
|
|
|> Repo.preload(:conversation)
|
|
|
|
|
|
|
|
|
|
assert participation_one.conversation.ap_id == activity_three.data["object"]["context"]
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|