Transmogrifier: Also accept mitra emoji likes.

This commit is contained in:
Lain Soykaf 2025-03-18 15:53:27 +04:00
commit e19ca7606d
4 changed files with 163 additions and 1 deletions

View file

@ -6,6 +6,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.LikeHandlingTest do
use Pleroma.DataCase, async: true
alias Pleroma.Activity
alias Pleroma.Object
alias Pleroma.Web.ActivityPub.Transmogrifier
alias Pleroma.Web.CommonAPI
@ -75,4 +76,54 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.LikeHandlingTest do
assert activity_data["object"] == activity.data["object"]
assert activity_data["content"] == ""
end
test "it works for misskey likes with custom emoji" do
user = insert(:user)
{:ok, activity} = CommonAPI.post(user, %{status: "hello"})
data =
File.read!("test/fixtures/misskey-custom-emoji-like.json")
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
_actor = insert(:user, ap_id: data["actor"], local: false)
{:ok, %Activity{data: activity_data, local: false}} = Transmogrifier.handle_incoming(data)
assert activity_data["actor"] == data["actor"]
assert activity_data["type"] == "EmojiReact"
assert activity_data["id"] == data["id"]
assert activity_data["object"] == activity.data["object"]
assert activity_data["content"] == ":blobwtfnotlikethis:"
assert [["blobwtfnotlikethis", _, _]] =
Object.get_by_ap_id(activity.data["object"])
|> Object.get_emoji_reactions()
end
test "it works for mitra likes with custom emoji" do
user = insert(:user)
{:ok, activity} = CommonAPI.post(user, %{status: "hello"})
data =
File.read!("test/fixtures/mitra-custom-emoji-like.json")
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
_actor = insert(:user, ap_id: data["actor"], local: false)
{:ok, %Activity{data: activity_data, local: false}} = Transmogrifier.handle_incoming(data)
assert activity_data["actor"] == data["actor"]
assert activity_data["type"] == "EmojiReact"
assert activity_data["id"] == data["id"]
assert activity_data["object"] == activity.data["object"]
assert activity_data["content"] == ":ablobcatheartsqueeze:"
assert [["ablobcatheartsqueeze", _, _]] =
Object.get_by_ap_id(activity.data["object"])
|> Object.get_emoji_reactions()
end
end