X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fweb%2Fmastodon_api%2Fstatus_view_test.exs;h=dc5cdfe9aab5ddf2e35722cc61f130f5d936d98a;hb=c56d28f96c343d445ec8d06baf351423691036f3;hp=a12fc8244db58e4082de7e9a24d7dbf3d99c6678;hpb=2b21c05105d550d09d85807246be696a1aed4b32;p=akkoma diff --git a/test/web/mastodon_api/status_view_test.exs b/test/web/mastodon_api/status_view_test.exs index a12fc8244..dc5cdfe9a 100644 --- a/test/web/mastodon_api/status_view_test.exs +++ b/test/web/mastodon_api/status_view_test.exs @@ -2,8 +2,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do use Pleroma.DataCase alias Pleroma.Web.MastodonAPI.{StatusView, AccountView} - alias Pleroma.{User, Object} + alias Pleroma.User alias Pleroma.Web.OStatus + alias Pleroma.Web.CommonAPI import Pleroma.Factory test "a note activity" do @@ -12,6 +13,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 +25,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, @@ -33,8 +37,18 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do media_attachments: [], mentions: [], tags: [], - application: nil, - language: nil + application: %{ + name: "Web", + website: nil + }, + language: nil, + emojis: [ + %{ + shortcode: "2hu", + url: "corndog.png", + static_url: "corndog.png" + } + ] } assert status == expected @@ -52,7 +66,6 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do end test "attachments" do - incoming = File.read!("test/fixtures/incoming_reply_mastodon.xml") object = %{ "type" => "Image", "url" => [ @@ -65,13 +78,30 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do } expected = %{ - id: 6, + id: 1638338801, type: "image", url: "someurl", remote_url: "someurl", - preview_url: "someurl" + preview_url: "someurl", + text_url: "someurl" } assert expected == StatusView.render("attachment.json", %{attachment: object}) + + # If theres a "id", use that instead of the generated one + object = Map.put(object, "id", 2) + assert %{id: 2} = StatusView.render("attachment.json", %{attachment: object}) + end + + test "a reblog" do + user = insert(:user) + activity = insert(:note_activity) + + {:ok, reblog, _} = CommonAPI.repeat(activity.id, user) + + represented = StatusView.render("status.json", %{for: user, activity: reblog}) + + assert represented[:id] == reblog.id + assert represented[:reblog][:id] == activity.id end end