|
|
@@ -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 |