MastoAPI: Add accounts getting.
[akkoma] / test / web / mastodon_api / status_view_test.exs
index b8a96f71a7ed87218291db58ac65a822546042ca..198ee72a88c58a719f75d52c6359ed803e1b51a9 100644 (file)
@@ -2,7 +2,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
   use Pleroma.DataCase
 
   alias Pleroma.Web.MastodonAPI.{StatusView, AccountView}
-  alias Pleroma.User
+  alias Pleroma.{User, Object}
   alias Pleroma.Web.OStatus
   import Pleroma.Factory
 
@@ -12,6 +12,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
 
     status = StatusView.render("status.json", %{activity: note})
 
+    created_at = (note.data["object"]["published"] || "")
+    |> String.replace(~r/\.\d+Z/, ".000Z")
+
     expected = %{
       id: note.id,
       uri: note.data["object"]["id"],
@@ -21,7 +24,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
       in_reply_to_account_id: nil,
       reblog: nil,
       content: HtmlSanitizeEx.basic_html(note.data["object"]["content"]),
-      created_at: note.data["object"]["published"],
+      created_at: created_at,
       reblogs_count: 0,
       favourites_count: 0,
       reblogged: false,
@@ -50,4 +53,28 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
 
     assert status.mentions == [AccountView.render("mention.json", %{user: user})]
   end
+
+  test "attachments" do
+    incoming = File.read!("test/fixtures/incoming_reply_mastodon.xml")
+    object = %{
+      "type" => "Image",
+      "url" => [
+        %{
+          "mediaType" => "image/png",
+          "href" => "someurl"
+        }
+      ],
+      "uuid" => 6
+    }
+
+    expected = %{
+      id: 1638338801,
+      type: "image",
+      url: "someurl",
+      remote_url: "someurl",
+      preview_url: "someurl"
+    }
+
+    assert expected == StatusView.render("attachment.json", %{attachment: object})
+  end
 end