Test for Mastodon AccountView
authorRoger Braun <roger@rogerbraun.net>
Sat, 9 Sep 2017 10:09:53 +0000 (12:09 +0200)
committerRoger Braun <roger@rogerbraun.net>
Sat, 9 Sep 2017 10:09:53 +0000 (12:09 +0200)
Handles users and mentions.

lib/pleroma/web/mastodon_api/views/account_view.ex [moved from lib/pleroma/web/mastodon_api/views/user_view.ex with 80% similarity]
test/web/mastodon_api/account_view_test.exs [new file with mode: 0644]

similarity index 80%
rename from lib/pleroma/web/mastodon_api/views/user_view.ex
rename to lib/pleroma/web/mastodon_api/views/account_view.ex
index 88e32d6f9b6c40154f187a9cf7d90c22a8cd9e55..5f6ca84d0941f633a610203d8fa257ab2b73b776 100644 (file)
@@ -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 (file)
index 0000000..f0c8673
--- /dev/null
@@ -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