diff options
Diffstat (limited to 'test/web/twitter_api')
| -rw-r--r-- | test/web/twitter_api/twitter_api_controller_test.exs | 100 | ||||
| -rw-r--r-- | test/web/twitter_api/util_controller_test.exs | 1 | ||||
| -rw-r--r-- | test/web/twitter_api/views/user_view_test.exs | 28 | 
3 files changed, 103 insertions, 26 deletions
diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs index 863abd10f..855ae1526 100644 --- a/test/web/twitter_api/twitter_api_controller_test.exs +++ b/test/web/twitter_api/twitter_api_controller_test.exs @@ -62,7 +62,8 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do          |> post("/api/account/verify_credentials.json")          |> json_response(200) -      assert response == UserView.render("show.json", %{user: user, token: response["token"]}) +      assert response == +               UserView.render("show.json", %{user: user, token: response["token"], for: user})      end    end @@ -107,7 +108,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do          |> post(request_path, %{status: "Nice meme.", visibility: "private"})        assert json_response(conn, 200) == -               ActivityRepresenter.to_map(Repo.one(Activity), %{user: user}) +               ActivityRepresenter.to_map(Repo.one(Activity), %{user: user, for: user})      end    end @@ -418,6 +419,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do        assert Enum.at(response, 0) ==                 ActivityRepresenter.to_map(activity, %{                   user: current_user, +                 for: current_user,                   mentioned: [current_user]                 })      end @@ -547,7 +549,9 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do        response = json_response(conn, 200)        assert length(response) == 1 -      assert Enum.at(response, 0) == ActivityRepresenter.to_map(activity, %{user: current_user}) + +      assert Enum.at(response, 0) == +               ActivityRepresenter.to_map(activity, %{user: current_user, for: current_user})      end      test "with credentials with user_id", %{conn: conn, user: current_user} do @@ -1132,8 +1136,8 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do               )      end -    test "it returns empty for a hidden network", %{conn: conn} do -      user = insert(:user, %{info: %{hide_network: true}}) +    test "it returns empty when hide_followers is set to true", %{conn: conn} do +      user = insert(:user, %{info: %{hide_followers: true}})        follower_one = insert(:user)        follower_two = insert(:user)        not_follower = insert(:user) @@ -1150,10 +1154,11 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do        assert [] == response      end -    test "it returns the followers for a hidden network if requested by the user themselves", %{ -      conn: conn -    } do -      user = insert(:user, %{info: %{hide_network: true}}) +    test "it returns the followers when hide_followers is set to true if requested by the user themselves", +         %{ +           conn: conn +         } do +      user = insert(:user, %{info: %{hide_followers: true}})        follower_one = insert(:user)        follower_two = insert(:user)        _not_follower = insert(:user) @@ -1256,8 +1261,8 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do               )      end -    test "it returns empty for a hidden network", %{conn: conn} do -      user = insert(:user, %{info: %{hide_network: true}}) +    test "it returns empty when hide_follows is set to true", %{conn: conn} do +      user = insert(:user, %{info: %{hide_follows: true}})        followed_one = insert(:user)        followed_two = insert(:user)        not_followed = insert(:user) @@ -1273,10 +1278,11 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do        assert [] == json_response(conn, 200)      end -    test "it returns friends for a hidden network if the user themselves request it", %{ -      conn: conn -    } do -      user = insert(:user, %{info: %{hide_network: true}}) +    test "it returns friends when hide_follows is set to true if the user themselves request it", +         %{ +           conn: conn +         } do +      user = insert(:user, %{info: %{hide_follows: true}})        followed_one = insert(:user)        followed_two = insert(:user)        _not_followed = insert(:user) @@ -1364,27 +1370,75 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do        assert json_response(conn, 200) == UserView.render("user.json", %{user: user, for: user})      end -    test "it sets and un-sets hide_network", %{conn: conn} do +    test "it sets and un-sets hide_follows", %{conn: conn} do        user = insert(:user)        conn        |> assign(:user, user)        |> post("/api/account/update_profile.json", %{ -        "hide_network" => "true" +        "hide_follows" => "true"        })        user = Repo.get!(User, user.id) -      assert user.info.hide_network == true +      assert user.info.hide_follows == true        conn =          conn          |> assign(:user, user)          |> post("/api/account/update_profile.json", %{ -          "hide_network" => "false" +          "hide_follows" => "false"          })        user = Repo.get!(User, user.id) -      assert user.info.hide_network == false +      assert user.info.hide_follows == false +      assert json_response(conn, 200) == UserView.render("user.json", %{user: user, for: user}) +    end + +    test "it sets and un-sets hide_followers", %{conn: conn} do +      user = insert(:user) + +      conn +      |> assign(:user, user) +      |> post("/api/account/update_profile.json", %{ +        "hide_followers" => "true" +      }) + +      user = Repo.get!(User, user.id) +      assert user.info.hide_followers == true + +      conn = +        conn +        |> assign(:user, user) +        |> post("/api/account/update_profile.json", %{ +          "hide_followers" => "false" +        }) + +      user = Repo.get!(User, user.id) +      assert user.info.hide_followers == false +      assert json_response(conn, 200) == UserView.render("user.json", %{user: user, for: user}) +    end + +    test "it sets and un-sets show_role", %{conn: conn} do +      user = insert(:user) + +      conn +      |> assign(:user, user) +      |> post("/api/account/update_profile.json", %{ +        "show_role" => "true" +      }) + +      user = Repo.get!(User, user.id) +      assert user.info.show_role == true + +      conn = +        conn +        |> assign(:user, user) +        |> post("/api/account/update_profile.json", %{ +          "show_role" => "false" +        }) + +      user = Repo.get!(User, user.id) +      assert user.info.show_role == false        assert json_response(conn, 200) == UserView.render("user.json", %{user: user, for: user})      end @@ -1788,7 +1842,8 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do        user = refresh_record(user) -      assert json_response(response, 200) == ActivityRepresenter.to_map(activity, %{user: user}) +      assert json_response(response, 200) == +               ActivityRepresenter.to_map(activity, %{user: user, for: user})      end    end @@ -1817,7 +1872,8 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do        user = refresh_record(user) -      assert json_response(response, 200) == ActivityRepresenter.to_map(activity, %{user: user}) +      assert json_response(response, 200) == +               ActivityRepresenter.to_map(activity, %{user: user, for: user})      end    end  end diff --git a/test/web/twitter_api/util_controller_test.exs b/test/web/twitter_api/util_controller_test.exs index dc9bad369..007d7d8e6 100644 --- a/test/web/twitter_api/util_controller_test.exs +++ b/test/web/twitter_api/util_controller_test.exs @@ -36,6 +36,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do    describe "GET /api/statusnet/config.json" do      test "it returns the managed config", %{conn: conn} do        Pleroma.Config.put([:instance, :managed_config], false) +      Pleroma.Config.put([:fe], theme: "rei-ayanami-towel")        response =          conn diff --git a/test/web/twitter_api/views/user_view_test.exs b/test/web/twitter_api/views/user_view_test.exs index daf18c1c5..95e52ca46 100644 --- a/test/web/twitter_api/views/user_view_test.exs +++ b/test/web/twitter_api/views/user_view_test.exs @@ -100,7 +100,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do        "locked" => false,        "default_scope" => "public",        "no_rich_text" => false, -      "hide_network" => false, +      "hide_follows" => false, +      "hide_followers" => false,        "fields" => [],        "pleroma" => %{          "confirmation_pending" => false, @@ -147,7 +148,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do        "locked" => false,        "default_scope" => "public",        "no_rich_text" => false, -      "hide_network" => false, +      "hide_follows" => false, +      "hide_followers" => false,        "fields" => [],        "pleroma" => %{          "confirmation_pending" => false, @@ -195,7 +197,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do        "locked" => false,        "default_scope" => "public",        "no_rich_text" => false, -      "hide_network" => false, +      "hide_follows" => false, +      "hide_followers" => false,        "fields" => [],        "pleroma" => %{          "confirmation_pending" => false, @@ -211,6 +214,7 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do      represented = UserView.render("show.json", %{user: user, for: user})      assert represented["rights"]["delete_others_notice"] +    assert represented["role"] == "moderator"    end    test "a user that is a admin" do @@ -218,6 +222,21 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do      represented = UserView.render("show.json", %{user: user, for: user})      assert represented["rights"]["admin"] +    assert represented["role"] == "admin" +  end + +  test "A moderator with hidden role for another user", %{user: user} do +    admin = insert(:user, %{info: %{is_moderator: true, show_role: false}}) +    represented = UserView.render("show.json", %{user: admin, for: user}) + +    assert represented["role"] == nil +  end + +  test "An admin with hidden role for another user", %{user: user} do +    admin = insert(:user, %{info: %{is_admin: true, show_role: false}}) +    represented = UserView.render("show.json", %{user: admin, for: user}) + +    assert represented["role"] == nil    end    test "A blocked user for the blocker" do @@ -257,7 +276,8 @@ defmodule Pleroma.Web.TwitterAPI.UserViewTest do        "locked" => false,        "default_scope" => "public",        "no_rich_text" => false, -      "hide_network" => false, +      "hide_follows" => false, +      "hide_followers" => false,        "fields" => [],        "pleroma" => %{          "confirmation_pending" => false,  | 
