aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2019-09-30 15:51:09 +0200
committerlain <lain@soykaf.club>2019-09-30 15:51:09 +0200
commit08256e9299494c0bcd1a295c6079263277b21ba7 (patch)
tree3282dd0ba6d4ce6422219141f617b23638c245de
parent6068d2254e2ed00260dc840f18824dc0e0835afa (diff)
downloadpleroma-08256e9299494c0bcd1a295c6079263277b21ba7.tar.gz
ActivityPub: Federate reactions.
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex3
-rw-r--r--test/web/activity_pub/activity_pub_test.exs12
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 77fa23db4..a6fb67a28 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -313,7 +313,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
Pleroma.Emoji.is_unicode_emoji?(emoji),
reaction_data <- make_emoji_reaction_data(user, object, emoji, activity_id),
{: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}
end
end
diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs
index 3e6f389bc..4dc7d96d2 100644
--- a/test/web/activity_pub/activity_pub_test.exs
+++ b/test/web/activity_pub/activity_pub_test.exs
@@ -727,6 +727,18 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do
end
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
user = insert(:user)
reactor = insert(:user)