forked from AkkomaGang/akkoma
ActivityPub: Federate reactions.
This commit is contained in:
parent
6068d2254e
commit
08256e9299
2 changed files with 14 additions and 1 deletions
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in a new issue