use Pleroma.Web, :view
alias Pleroma.Chat
+ alias Pleroma.Web.CommonAPI.Utils
+ alias Pleroma.Web.MastodonAPI.StatusView
def render(
"show.json",
id: id |> to_string(),
content: chat_message["content"],
chat_id: chat_id |> to_string(),
- actor: chat_message["actor"]
+ actor: chat_message["actor"],
+ created_at: Utils.to_masto_date(chat_message["published"]),
+ emojis: StatusView.build_emojis(chat_message["emoji"])
}
end
test "it displays a chat message" do
user = insert(:user)
recipient = insert(:user)
- {:ok, activity} = CommonAPI.post_chat_message(user, recipient, "kippis")
+ {:ok, activity} = CommonAPI.post_chat_message(user, recipient, "kippis :firefox:")
chat = Chat.get(user.id, recipient.ap_id)
chat_message = ChatMessageView.render("show.json", object: object, for: user, chat: chat)
assert chat_message[:id] == object.id |> to_string()
- assert chat_message[:content] == "kippis"
+ assert chat_message[:content] == "kippis :firefox:"
assert chat_message[:actor] == user.ap_id
assert chat_message[:chat_id]
+ assert chat_message[:created_at]
+ assert match?([%{shortcode: "firefox"}], chat_message[:emojis])
{:ok, activity} = CommonAPI.post_chat_message(recipient, user, "gkgkgk")