Merge branch 'develop' into dtluna/pleroma-refactor/1
[akkoma] / test / web / twitter_api / representers / user_representer_test.exs
index 76e3bd6e62179f46aace0d0ea16fa094076ce876..77f0659483f3ba1e851727d9d5bd3f82c760c0ab 100644 (file)
@@ -5,13 +5,34 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenterTest do
   alias Pleroma.Web.TwitterAPI.Representers.UserRepresenter
   alias Pleroma.Builders.UserBuilder
 
+  import Pleroma.Factory
+
   setup do
-    {:ok, user} = UserBuilder.insert
+    user = insert(:user)
     [user: user]
   end
 
-  test "A user", %{user: user} do
+  test "A user with an avatar object", %{user: user} do
+    image = "image"
+    user = %{ user | avatar: %{ "url" => [%{"href" => image}] }}
+    represented = UserRepresenter.to_map(user)
+    assert represented["profile_image_url"] == image
+  end
+
+  test "A user" do
+    note_activity = insert(:note_activity)
+    user = User.get_cached_by_ap_id(note_activity.data["actor"])
+    follower = insert(:user)
+    second_follower = insert(:user)
+
+    User.follow(follower, user)
+    User.follow(second_follower, user)
+    User.follow(user, follower)
+
+    user = Repo.get!(User, user.id)
+
     image = "https://placehold.it/48x48"
+
     represented = %{
       "id" => user.id,
       "name" => user.name,
@@ -19,15 +40,16 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenterTest do
       "description" => user.bio,
       # Fake fields
       "favourites_count" => 0,
-      "statuses_count" => 0,
-      "friends_count" => 0,
-      "followers_count" => 0,
+      "statuses_count" => 1,
+      "friends_count" => 1,
+      "followers_count" => 2,
       "profile_image_url" => image,
       "profile_image_url_https" => image,
       "profile_image_url_profile_size" => image,
       "profile_image_url_original" => image,
       "following" => false,
-      "rights" => %{}
+      "rights" => %{},
+      "statusnet_profile_url" => user.ap_id
     }
 
     assert represented == UserRepresenter.to_map(user)
@@ -45,13 +67,14 @@ defmodule Pleroma.Web.TwitterAPI.Representers.UserRepresenterTest do
       "favourites_count" => 0,
       "statuses_count" => 0,
       "friends_count" => 0,
-      "followers_count" => 0,
+      "followers_count" => 1,
       "profile_image_url" => image,
       "profile_image_url_https" => image,
       "profile_image_url_profile_size" => image,
       "profile_image_url_original" => image,
       "following" => true,
-      "rights" => %{}
+      "rights" => %{},
+      "statusnet_profile_url" => user.ap_id
     }
 
     assert represented == UserRepresenter.to_map(user, %{for: follower})