X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fweb%2Ftwitter_api%2Fviews%2Fuser_view_test.exs;h=9f8e15574b75aa184f48d22dcdd846734e12aa10;hb=77e272df2de41a79bdefcf29035c9d43b59000a5;hp=7b32894221fc0ffb7ffaf6391a9f0b564b5b2c0d;hpb=678f572144bfd861793c0b72061b04cdb9b7c991;p=akkoma diff --git a/test/web/twitter_api/views/user_view_test.exs b/test/web/twitter_api/views/user_view_test.exs index 7b3289422..9f8e15574 100644 --- a/test/web/twitter_api/views/user_view_test.exs +++ b/test/web/twitter_api/views/user_view_test.exs @@ -2,7 +2,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do use Pleroma.DataCase alias Pleroma.User - alias Pleroma.Web.TwitterAPI.{UserView, Utils} + alias Pleroma.Web.TwitterAPI.UserView + alias Pleroma.Web.CommonAPI.Utils alias Pleroma.Builders.UserBuilder import Pleroma.Factory @@ -49,6 +50,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "profile_image_url_profile_size" => image, "profile_image_url_original" => image, "following" => false, + "follows_you" => false, + "statusnet_blocking" => false, "rights" => %{}, "statusnet_profile_url" => user.ap_id, "cover_photo" => nil, @@ -77,6 +80,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "profile_image_url_profile_size" => image, "profile_image_url_original" => image, "following" => true, + "follows_you" => false, + "statusnet_blocking" => false, "rights" => %{}, "statusnet_profile_url" => user.ap_id, "cover_photo" => nil, @@ -85,4 +90,66 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do assert represented == UserView.render("show.json", %{user: user, for: follower}) end + + test "A user that follows you", %{user: user} do + {:ok, follower} = UserBuilder.insert(%{following: [User.ap_followers(user)]}) + {:ok, user} = User.update_follower_count(user) + image = "https://placehold.it/48x48" + represented = %{ + "id" => follower.id, + "name" => follower.name, + "screen_name" => follower.nickname, + "description" => HtmlSanitizeEx.strip_tags(follower.bio), + "created_at" => follower.inserted_at |> Utils.format_naive_asctime, + "favourites_count" => 0, + "statuses_count" => 0, + "friends_count" => 1, + "followers_count" => 0, + "profile_image_url" => image, + "profile_image_url_https" => image, + "profile_image_url_profile_size" => image, + "profile_image_url_original" => image, + "following" => false, + "follows_you" => true, + "statusnet_blocking" => false, + "rights" => %{}, + "statusnet_profile_url" => follower.ap_id, + "cover_photo" => nil, + "background_image" => nil + } + + assert represented == UserView.render("show.json", %{user: follower, for: user}) + end + + test "A blocked user for the blocker", %{user: user} do + user = insert(:user) + blocker = insert(:user) + User.block(blocker, user) + image = "https://placehold.it/48x48" + represented = %{ + "id" => user.id, + "name" => user.name, + "screen_name" => user.nickname, + "description" => HtmlSanitizeEx.strip_tags(user.bio), + "created_at" => user.inserted_at |> Utils.format_naive_asctime, + "favourites_count" => 0, + "statuses_count" => 0, + "friends_count" => 0, + "followers_count" => 0, + "profile_image_url" => image, + "profile_image_url_https" => image, + "profile_image_url_profile_size" => image, + "profile_image_url_original" => image, + "following" => false, + "follows_you" => false, + "statusnet_blocking" => true, + "rights" => %{}, + "statusnet_profile_url" => user.ap_id, + "cover_photo" => nil, + "background_image" => nil + } + + blocker = Repo.get(User, blocker.id) + assert represented == UserView.render("show.json", %{user: user, for: blocker}) + end end