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("content", emoji)
|> Map.put("type", "EmojiReact") |> Map.put("type", "EmojiReact")
else else
emojo = Emoji.get(emoji) with %{} = emojo <- Emoji.get(emoji) do
path = emojo |> Map.get(:file) path = emojo |> Map.get(:file)
url = "#{Endpoint.url()}#{path}" url = "#{Endpoint.url()}#{path}"
data data
|> Map.put("content", emoji) |> Map.put("content", emoji)
|> Map.put("type", "EmojiReact") |> Map.put("type", "EmojiReact")
|> Map.put("tag", [ |> Map.put("tag", [
%{}
|> Map.put("id", url)
|> Map.put("type", "Emoji")
|> Map.put("name", emojo.code)
|> Map.put(
"icon",
%{} %{}
|> Map.put("type", "Image") |> Map.put("id", url)
|> Map.put("url", 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 end
{:ok, data, meta} {:ok, data, meta}

View file

@ -67,7 +67,7 @@ defmodule Pleroma.Web.PleromaAPI.EmojiReactionController do
end end
defp filter(reactions, %{emoji: emoji}) when is_binary(emoji) do 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 end
defp filter(reactions, _), do: reactions defp filter(reactions, _), do: reactions

View file

@ -31,7 +31,7 @@ defmodule Pleroma.Web.PleromaAPI.EmojiReactionControllerTest do
assert to_string(activity.id) == id assert to_string(activity.id) == id
assert result["pleroma"]["emoji_reactions"] == [ assert result["pleroma"]["emoji_reactions"] == [
%{"name" => "", "count" => 1, "me" => true} %{"name" => "", "count" => 1, "me" => true, "url" => nil}
] ]
# Reacting with a non-emoji # 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, "🎅")
{: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 conn
|> get("/api/v1/pleroma/statuses/#{activity.id}/reactions/🎅") |> get("/api/v1/pleroma/statuses/#{activity.id}/reactions/🎅")
|> json_response_and_validate_schema(200) |> json_response_and_validate_schema(200)