ChatView: Add update_at field.
[akkoma] / test / web / pleroma_api / views / chat_view_test.exs
index 725da5ff80e8fd61ea73e4c4e6217800319460a2..6062a0cfef122d2e469d510141d63228c8ae0d2e 100644 (file)
@@ -6,7 +6,11 @@ defmodule Pleroma.Web.PleromaAPI.ChatViewTest do
   use Pleroma.DataCase
 
   alias Pleroma.Chat
+  alias Pleroma.Object
+  alias Pleroma.Web.CommonAPI
+  alias Pleroma.Web.CommonAPI.Utils
   alias Pleroma.Web.MastodonAPI.AccountView
+  alias Pleroma.Web.PleromaAPI.ChatMessageView
   alias Pleroma.Web.PleromaAPI.ChatView
 
   import Pleroma.Factory
@@ -21,9 +25,21 @@ defmodule Pleroma.Web.PleromaAPI.ChatViewTest do
 
     assert represented_chat == %{
              id: "#{chat.id}",
-             recipient: recipient.ap_id,
-             recipient_account: AccountView.render("show.json", user: recipient),
-             unread: 0
+             account: AccountView.render("show.json", user: recipient),
+             unread: 0,
+             last_message: nil,
+             updated_at: Utils.to_masto_date(chat.updated_at)
            }
+
+    {:ok, chat_message_creation} = CommonAPI.post_chat_message(user, recipient, "hello")
+
+    chat_message = Object.normalize(chat_message_creation, false)
+
+    {:ok, chat} = Chat.get_or_create(user.id, recipient.ap_id)
+
+    represented_chat = ChatView.render("show.json", chat: chat)
+
+    assert represented_chat[:last_message] ==
+             ChatMessageView.render("show.json", chat: chat, object: chat_message)
   end
 end