|
|
@@ -1,6 +1,7 @@ |
|
|
|
defmodule Pleroma.Web.ActivityPub.UtilsTest do |
|
|
|
use Pleroma.DataCase |
|
|
|
alias Pleroma.Activity |
|
|
|
alias Pleroma.Object |
|
|
|
alias Pleroma.User |
|
|
|
alias Pleroma.Web.ActivityPub.ActivityPub |
|
|
|
alias Pleroma.Web.ActivityPub.Utils |
|
|
@@ -204,4 +205,46 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do |
|
|
|
] |
|
|
|
} |
|
|
|
end |
|
|
|
|
|
|
|
describe "get_existing_votes" do |
|
|
|
test "fetches existing votes" do |
|
|
|
user = insert(:user) |
|
|
|
other_user = insert(:user) |
|
|
|
|
|
|
|
{:ok, activity} = |
|
|
|
CommonAPI.post(user, %{ |
|
|
|
"status" => "How do I pronounce LaTeX?", |
|
|
|
"poll" => %{ |
|
|
|
"options" => ["laytekh", "lahtekh", "latex"], |
|
|
|
"expires_in" => 20, |
|
|
|
"multiple" => true |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
object = Object.normalize(activity) |
|
|
|
{:ok, votes, object} = CommonAPI.vote(other_user, object, [0, 1]) |
|
|
|
assert Enum.sort(Utils.get_existing_votes(other_user.ap_id, object)) == Enum.sort(votes) |
|
|
|
end |
|
|
|
|
|
|
|
test "fetches only Create activities" do |
|
|
|
user = insert(:user) |
|
|
|
other_user = insert(:user) |
|
|
|
|
|
|
|
{:ok, activity} = |
|
|
|
CommonAPI.post(user, %{ |
|
|
|
"status" => "Are we living in a society?", |
|
|
|
"poll" => %{ |
|
|
|
"options" => ["yes", "no"], |
|
|
|
"expires_in" => 20 |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
object = Object.normalize(activity) |
|
|
|
{:ok, [vote], object} = CommonAPI.vote(other_user, object, [0]) |
|
|
|
vote_object = Object.normalize(vote) |
|
|
|
{:ok, _activity, _object} = ActivityPub.like(user, vote_object) |
|
|
|
[fetched_vote] = Utils.get_existing_votes(other_user.ap_id, object) |
|
|
|
assert fetched_vote.id == vote.id |
|
|
|
end |
|
|
|
end |
|
|
|
end |