|
|
@ -1,6 +1,7 @@
|
|
|
|
defmodule Pleroma.Web.ActivityPub.UtilsTest do
|
|
|
|
defmodule Pleroma.Web.ActivityPub.UtilsTest do
|
|
|
|
use Pleroma.DataCase
|
|
|
|
use Pleroma.DataCase
|
|
|
|
alias Pleroma.Activity
|
|
|
|
alias Pleroma.Activity
|
|
|
|
|
|
|
|
alias Pleroma.Object
|
|
|
|
alias Pleroma.User
|
|
|
|
alias Pleroma.User
|
|
|
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
|
|
|
alias Pleroma.Web.ActivityPub.ActivityPub
|
|
|
|
alias Pleroma.Web.ActivityPub.Utils
|
|
|
|
alias Pleroma.Web.ActivityPub.Utils
|
|
|
@ -204,4 +205,46 @@ defmodule Pleroma.Web.ActivityPub.UtilsTest do
|
|
|
|
]
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
end
|
|
|
|
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
|
|
|
|
end
|
|
|
|