X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=test%2Fweb%2Ftwitter_api%2Fviews%2Fuser_view_test.exs;h=fefb6bdcc32307be17db10d3bfea46c83eec70c7;hb=ed9738e031e02a9338bedd3a8f3ff73329c101e7;hp=d5d2f0adc87ba753c7dd2e0fcf8c251c32d4db6e;hpb=f0cde24f71f292b417dfcac663e1f4e6082c833a;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 d5d2f0adc..fefb6bdcc 100644 --- a/test/web/twitter_api/views/user_view_test.exs +++ b/test/web/twitter_api/views/user_view_test.exs @@ -15,11 +15,35 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do test "A user with an avatar object", %{user: user} do image = "image" - user = %{ user | avatar: %{ "url" => [%{"href" => image}] }} + user = %{user | avatar: %{"url" => [%{"href" => image}]}} represented = UserView.render("show.json", %{user: user}) assert represented["profile_image_url"] == image end + test "A user with emoji in username", %{user: user} do + expected = + "karjalanpiirakka man" + + user = %{ + user + | info: %{ + "source_data" => %{ + "tag" => [ + %{ + "type" => "Emoji", + "icon" => %{"url" => "/file.png"}, + "name" => ":karjalanpiirakka:" + } + ] + } + } + } + + user = %{user | name: ":karjalanpiirakka: man"} + represented = UserView.render("show.json", %{user: user}) + assert represented["name_html"] == expected + end + test "A user" do note_activity = insert(:note_activity) user = User.get_cached_by_ap_id(note_activity.data["actor"]) @@ -31,7 +55,7 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do User.follow(second_follower, user) User.follow(user, follower) {:ok, user} = User.update_follower_count(user) - Cachex.set(:user_cache, "user_info:#{user.id}", User.user_info(Repo.get!(User, user.id))) + Cachex.put(:user_cache, "user_info:#{user.id}", User.user_info(Repo.get!(User, user.id))) image = "http://localhost:4001/images/avi.png" banner = "http://localhost:4001/images/banner.png" @@ -40,8 +64,10 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "id" => user.id, "name" => user.name, "screen_name" => user.nickname, + "name_html" => user.name, "description" => HtmlSanitizeEx.strip_tags(user.bio), - "created_at" => user.inserted_at |> Utils.format_naive_asctime, + "description_html" => HtmlSanitizeEx.strip_tags(user.bio), + "created_at" => user.inserted_at |> Utils.format_naive_asctime(), "favourites_count" => 0, "statuses_count" => 1, "friends_count" => 1, @@ -53,11 +79,15 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "following" => false, "follows_you" => false, "statusnet_blocking" => false, - "rights" => %{}, + "rights" => %{ + "delete_others_notice" => false + }, "statusnet_profile_url" => user.ap_id, "cover_photo" => banner, "background_image" => nil, - "is_local" => true + "is_local" => true, + "locked" => false, + "default_scope" => "public" } assert represented == UserView.render("show.json", %{user: user}) @@ -73,8 +103,10 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "id" => user.id, "name" => user.name, "screen_name" => user.nickname, + "name_html" => user.name, "description" => HtmlSanitizeEx.strip_tags(user.bio), - "created_at" => user.inserted_at |> Utils.format_naive_asctime, + "description_html" => HtmlSanitizeEx.strip_tags(user.bio), + "created_at" => user.inserted_at |> Utils.format_naive_asctime(), "favourites_count" => 0, "statuses_count" => 0, "friends_count" => 0, @@ -86,11 +118,15 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "following" => true, "follows_you" => false, "statusnet_blocking" => false, - "rights" => %{}, + "rights" => %{ + "delete_others_notice" => false + }, "statusnet_profile_url" => user.ap_id, "cover_photo" => banner, "background_image" => nil, - "is_local" => true + "is_local" => true, + "locked" => false, + "default_scope" => "public" } assert represented == UserView.render("show.json", %{user: user, for: follower}) @@ -107,8 +143,10 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "id" => follower.id, "name" => follower.name, "screen_name" => follower.nickname, + "name_html" => follower.name, "description" => HtmlSanitizeEx.strip_tags(follower.bio), - "created_at" => follower.inserted_at |> Utils.format_naive_asctime, + "description_html" => HtmlSanitizeEx.strip_tags(follower.bio), + "created_at" => follower.inserted_at |> Utils.format_naive_asctime(), "favourites_count" => 0, "statuses_count" => 0, "friends_count" => 1, @@ -120,17 +158,28 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "following" => false, "follows_you" => true, "statusnet_blocking" => false, - "rights" => %{}, + "rights" => %{ + "delete_others_notice" => false + }, "statusnet_profile_url" => follower.ap_id, "cover_photo" => banner, "background_image" => nil, - "is_local" => true + "is_local" => true, + "locked" => false, + "default_scope" => "public" } assert represented == UserView.render("show.json", %{user: follower, for: user}) end - test "A blocked user for the blocker", %{user: user} do + test "a user that is a moderator" do + user = insert(:user, %{info: %{"is_moderator" => true}}) + represented = UserView.render("show.json", %{user: user, for: user}) + + assert represented["rights"]["delete_others_notice"] + end + + test "A blocked user for the blocker" do user = insert(:user) blocker = insert(:user) User.block(blocker, user) @@ -141,8 +190,10 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "id" => user.id, "name" => user.name, "screen_name" => user.nickname, + "name_html" => user.name, "description" => HtmlSanitizeEx.strip_tags(user.bio), - "created_at" => user.inserted_at |> Utils.format_naive_asctime, + "description_html" => HtmlSanitizeEx.strip_tags(user.bio), + "created_at" => user.inserted_at |> Utils.format_naive_asctime(), "favourites_count" => 0, "statuses_count" => 0, "friends_count" => 0, @@ -154,11 +205,15 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do "following" => false, "follows_you" => false, "statusnet_blocking" => true, - "rights" => %{}, + "rights" => %{ + "delete_others_notice" => false + }, "statusnet_profile_url" => user.ap_id, "cover_photo" => banner, "background_image" => nil, - "is_local" => true + "is_local" => true, + "locked" => false, + "default_scope" => "public" } blocker = Repo.get(User, blocker.id)