ActivityPub: Federate reactions.

This commit is contained in:
lain 2019-09-30 15:51:09 +02:00
parent 6068d2254e
commit 08256e9299
2 changed files with 14 additions and 1 deletions

View file

@ -313,7 +313,8 @@ def react_with_emoji(user, object, emoji, options \\ []) do
Pleroma.Emoji.is_unicode_emoji?(emoji), Pleroma.Emoji.is_unicode_emoji?(emoji),
reaction_data <- make_emoji_reaction_data(user, object, emoji, activity_id), reaction_data <- make_emoji_reaction_data(user, object, emoji, activity_id),
{:ok, activity} <- insert(reaction_data, local), {:ok, activity} <- insert(reaction_data, local),
{:ok, object} <- add_emoji_reaction_to_object(activity, object) do {:ok, object} <- add_emoji_reaction_to_object(activity, object),
:ok <- maybe_federate(activity) do
{:ok, activity, object} {:ok, activity, object}
end end
end end

View file

@ -727,6 +727,18 @@ test "returns reblogs for users for whom reblogs have not been muted" do
end end
describe "react to an object" do describe "react to an object" do
test_with_mock "sends an activity to federation", Pleroma.Web.Federator, [:passthrough], [] do
Pleroma.Config.put([:instance, :federating], true)
user = insert(:user)
reactor = insert(:user)
{:ok, activity} = CommonAPI.post(user, %{"status" => "YASSSS queen slay"})
assert object = Object.normalize(activity)
{:ok, reaction_activity, _object} = ActivityPub.react_with_emoji(reactor, object, "🔥")
assert called(Pleroma.Web.Federator.publish(reaction_activity))
end
test "adds an emoji reaction activity to the db" do test "adds an emoji reaction activity to the db" do
user = insert(:user) user = insert(:user)
reactor = insert(:user) reactor = insert(:user)