From b5df4a98e4044cf1360f03f7dc3a0b59932ec8f5 Mon Sep 17 00:00:00 2001
From: lain <lain@soykaf.club>
Date: Mon, 20 Apr 2020 14:38:53 +0200
Subject: [PATCH] ChatMessageView: Support emoji.

---
 lib/pleroma/web/pleroma_api/views/chat_message_view.ex | 6 +++++-
 test/web/pleroma_api/views/chat_message_view_test.exs  | 6 ++++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/pleroma/web/pleroma_api/views/chat_message_view.ex b/lib/pleroma/web/pleroma_api/views/chat_message_view.ex
index fdbb9ff1b..b40ab92a0 100644
--- a/lib/pleroma/web/pleroma_api/views/chat_message_view.ex
+++ b/lib/pleroma/web/pleroma_api/views/chat_message_view.ex
@@ -6,6 +6,8 @@ defmodule Pleroma.Web.PleromaAPI.ChatMessageView do
   use Pleroma.Web, :view
 
   alias Pleroma.Chat
+  alias Pleroma.Web.CommonAPI.Utils
+  alias Pleroma.Web.MastodonAPI.StatusView
 
   def render(
         "show.json",
@@ -18,7 +20,9 @@ defmodule Pleroma.Web.PleromaAPI.ChatMessageView do
       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
 
diff --git a/test/web/pleroma_api/views/chat_message_view_test.exs b/test/web/pleroma_api/views/chat_message_view_test.exs
index ad8febee6..115335f10 100644
--- a/test/web/pleroma_api/views/chat_message_view_test.exs
+++ b/test/web/pleroma_api/views/chat_message_view_test.exs
@@ -15,7 +15,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatMessageViewTest do
   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)
 
@@ -24,9 +24,11 @@ defmodule Pleroma.Web.PleromaAPI.ChatMessageViewTest do
     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")
 
-- 
2.49.0