TwitterAPI user view: add blocks.

This commit is contained in:
eal 2017-11-08 13:02:00 +02:00
parent 3bbefd0a1e
commit 4656cb9b99
2 changed files with 39 additions and 0 deletions

View File

@ -21,6 +21,11 @@ def render("user.json", %{user: user = %User{}} = assigns) do
else
false
end
statusnet_blocking = if assigns[:for] do
User.blocks?(assigns[:for], user)
else
false
end
user_info = User.get_cached_user_info(user)
@ -30,6 +35,7 @@ def render("user.json", %{user: user = %User{}} = assigns) do
"favourites_count" => 0,
"followers_count" => user_info[:follower_count],
"following" => following,
"statusnet_blocking" => statusnet_blocking,
"friends_count" => user_info[:following_count],
"id" => user.id,
"name" => user.name,

View File

@ -50,6 +50,7 @@ test "A user" do
"profile_image_url_profile_size" => image,
"profile_image_url_original" => image,
"following" => false,
"statusnet_blocking" => false,
"rights" => %{},
"statusnet_profile_url" => user.ap_id,
"cover_photo" => nil,
@ -78,6 +79,7 @@ test "A user for a given other follower", %{user: user} do
"profile_image_url_profile_size" => image,
"profile_image_url_original" => image,
"following" => true,
"statusnet_blocking" => false,
"rights" => %{},
"statusnet_profile_url" => user.ap_id,
"cover_photo" => nil,
@ -86,4 +88,35 @@ test "A user for a given other follower", %{user: user} do
assert represented == UserView.render("show.json", %{user: user, for: follower})
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,
"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