summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/pleroma/web/mastodon_api/views/account_view.ex (renamed from lib/pleroma/web/mastodon_api/views/user_view.ex)9
-rw-r--r--test/web/mastodon_api/account_view_test.exs42
2 files changed, 51 insertions, 0 deletions
diff --git a/lib/pleroma/web/mastodon_api/views/user_view.ex b/lib/pleroma/web/mastodon_api/views/account_view.ex
index 88e32d6f9..5f6ca84d0 100644
--- a/lib/pleroma/web/mastodon_api/views/user_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/account_view.ex
@@ -24,4 +24,13 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
header_static: ""
}
end
+
+ def render("mention.json", %{user: user}) do
+ %{
+ id: user.id,
+ acct: user.nickname,
+ username: user.nickname,
+ url: user.ap_id
+ }
+ end
end
diff --git a/test/web/mastodon_api/account_view_test.exs b/test/web/mastodon_api/account_view_test.exs
new file mode 100644
index 000000000..f0c8673ad
--- /dev/null
+++ b/test/web/mastodon_api/account_view_test.exs
@@ -0,0 +1,42 @@
+defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
+ use Pleroma.DataCase
+ import Pleroma.Factory
+ alias Pleroma.Web.MastodonAPI.AccountView
+
+ test "Represent a user account" do
+ user = insert(:user, %{info: %{"note_count" => 5, "follower_count" => 3}})
+
+ expected = %{
+ id: user.id,
+ username: user.nickname,
+ acct: user.nickname,
+ display_name: user.name,
+ locked: false,
+ created_at: user.inserted_at,
+ followers_count: 3,
+ following_count: 0,
+ statuses_count: 5,
+ note: user.bio,
+ url: user.ap_id,
+ avatar: "https://placehold.it/48x48",
+ avatar_static: "https://placehold.it/48x48",
+ header: "",
+ header_static: ""
+ }
+
+ assert expected == AccountView.render("account.json", %{user: user})
+ end
+
+ test "Represent a smaller mention" do
+ user = insert(:user)
+
+ expected = %{
+ id: user.id,
+ acct: user.nickname,
+ username: user.nickname,
+ url: user.ap_id
+ }
+
+ assert expected == AccountView.render("mention.json", %{user: user})
+ end
+end