fix emoji controller tests

This commit is contained in:
FloatingGhost 2022-06-11 14:21:50 +01:00
parent 142646426e
commit c3ed86cd1e
3 changed files with 31 additions and 20 deletions

View file

@ -64,25 +64,28 @@ defmodule Pleroma.Web.ActivityPub.Builder do
|> Map.put("content", emoji)
|> Map.put("type", "EmojiReact")
else
emojo = Emoji.get(emoji)
path = emojo |> Map.get(:file)
url = "#{Endpoint.url()}#{path}"
with %{} = emojo <- Emoji.get(emoji) do
path = emojo |> Map.get(:file)
url = "#{Endpoint.url()}#{path}"
data
|> Map.put("content", emoji)
|> Map.put("type", "EmojiReact")
|> Map.put("tag", [
%{}
|> Map.put("id", url)
|> Map.put("type", "Emoji")
|> Map.put("name", emojo.code)
|> Map.put(
"icon",
data
|> Map.put("content", emoji)
|> Map.put("type", "EmojiReact")
|> Map.put("tag", [
%{}
|> Map.put("type", "Image")
|> Map.put("url", url)
)
])
|> Map.put("id", url)
|> Map.put("type", "Emoji")
|> Map.put("name", emojo.code)
|> Map.put(
"icon",
%{}
|> Map.put("type", "Image")
|> Map.put("url", url)
)
])
else
_ -> {:error, "Emoji does not exist"}
end
end
{:ok, data, meta}

View file

@ -67,7 +67,7 @@ defmodule Pleroma.Web.PleromaAPI.EmojiReactionController do
end
defp filter(reactions, %{emoji: emoji}) when is_binary(emoji) do
Enum.filter(reactions, fn [e, _] -> e == emoji end)
Enum.filter(reactions, fn [e, _, _] -> e == emoji end)
end
defp filter(reactions, _), do: reactions

View file

@ -31,7 +31,7 @@ defmodule Pleroma.Web.PleromaAPI.EmojiReactionControllerTest do
assert to_string(activity.id) == id
assert result["pleroma"]["emoji_reactions"] == [
%{"name" => "", "count" => 1, "me" => true}
%{"name" => "", "count" => 1, "me" => true, "url" => nil}
]
# Reacting with a non-emoji
@ -181,7 +181,15 @@ defmodule Pleroma.Web.PleromaAPI.EmojiReactionControllerTest do
{:ok, _} = CommonAPI.react_with_emoji(activity.id, other_user, "🎅")
{:ok, _} = CommonAPI.react_with_emoji(activity.id, other_user, "")
assert [%{"name" => "🎅", "count" => 1, "accounts" => [represented_user], "me" => false}] =
assert [
%{
"name" => "🎅",
"count" => 1,
"accounts" => [represented_user],
"me" => false,
"url" => nil
}
] =
conn
|> get("/api/v1/pleroma/statuses/#{activity.id}/reactions/🎅")
|> json_response_and_validate_schema(200)