diff options
Diffstat (limited to 'test/web/mastodon_api')
| -rw-r--r-- | test/web/mastodon_api/account_view_test.exs | 29 | ||||
| -rw-r--r-- | test/web/mastodon_api/mastodon_api_controller_test.exs | 101 | ||||
| -rw-r--r-- | test/web/mastodon_api/status_view_test.exs | 20 | 
3 files changed, 141 insertions, 9 deletions
diff --git a/test/web/mastodon_api/account_view_test.exs b/test/web/mastodon_api/account_view_test.exs index 0730201bd..a24f2a050 100644 --- a/test/web/mastodon_api/account_view_test.exs +++ b/test/web/mastodon_api/account_view_test.exs @@ -56,14 +56,17 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        bot: false,        source: %{          note: "", -        privacy: "public", -        sensitive: false +        sensitive: false, +        pleroma: %{}        },        pleroma: %{          confirmation_pending: false,          tags: [],          is_admin: false,          is_moderator: false, +        hide_favorites: true, +        hide_followers: false, +        hide_follows: false,          relationship: %{}        }      } @@ -81,8 +84,12 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        "follows" => true      } -    assert %{pleroma: %{notification_settings: ^notification_settings}} = -             AccountView.render("account.json", %{user: user, for: user}) +    privacy = user.info.default_scope + +    assert %{ +             pleroma: %{notification_settings: ^notification_settings}, +             source: %{privacy: ^privacy} +           } = AccountView.render("account.json", %{user: user, for: user})    end    test "Represent a Service(bot) account" do @@ -114,14 +121,17 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        bot: true,        source: %{          note: "", -        privacy: "public", -        sensitive: false +        sensitive: false, +        pleroma: %{}        },        pleroma: %{          confirmation_pending: false,          tags: [],          is_admin: false,          is_moderator: false, +        hide_favorites: true, +        hide_followers: false, +        hide_follows: false,          relationship: %{}        }      } @@ -200,14 +210,17 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        bot: true,        source: %{          note: "", -        privacy: "public", -        sensitive: false +        sensitive: false, +        pleroma: %{}        },        pleroma: %{          confirmation_pending: false,          tags: [],          is_admin: false,          is_moderator: false, +        hide_favorites: true, +        hide_followers: false, +        hide_follows: false,          relationship: %{            id: to_string(user.id),            following: false, diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs index a22944088..610aa486e 100644 --- a/test/web/mastodon_api/mastodon_api_controller_test.exs +++ b/test/web/mastodon_api/mastodon_api_controller_test.exs @@ -1022,7 +1022,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do        user2 = insert(:user)        user3 = insert(:user)        CommonAPI.favorite(activity.id, user2) -      {:ok, user2} = User.bookmark(user2, activity.data["object"]["id"]) +      {:ok, _bookmark} = Pleroma.Bookmark.create(user2.id, activity.id)        {:ok, reblog_activity1, _object} = CommonAPI.repeat(activity.id, user1)        {:ok, _, _object} = CommonAPI.repeat(activity.id, user2) @@ -2214,6 +2214,78 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do        assert user["locked"] == true      end +    test "updates the user's default scope", %{conn: conn} do +      user = insert(:user) + +      conn = +        conn +        |> assign(:user, user) +        |> patch("/api/v1/accounts/update_credentials", %{default_scope: "cofe"}) + +      assert user = json_response(conn, 200) +      assert user["source"]["privacy"] == "cofe" +    end + +    test "updates the user's hide_followers status", %{conn: conn} do +      user = insert(:user) + +      conn = +        conn +        |> assign(:user, user) +        |> patch("/api/v1/accounts/update_credentials", %{hide_followers: "true"}) + +      assert user = json_response(conn, 200) +      assert user["pleroma"]["hide_followers"] == true +    end + +    test "updates the user's hide_follows status", %{conn: conn} do +      user = insert(:user) + +      conn = +        conn +        |> assign(:user, user) +        |> patch("/api/v1/accounts/update_credentials", %{hide_follows: "true"}) + +      assert user = json_response(conn, 200) +      assert user["pleroma"]["hide_follows"] == true +    end + +    test "updates the user's hide_favorites status", %{conn: conn} do +      user = insert(:user) + +      conn = +        conn +        |> assign(:user, user) +        |> patch("/api/v1/accounts/update_credentials", %{hide_favorites: "true"}) + +      assert user = json_response(conn, 200) +      assert user["pleroma"]["hide_favorites"] == true +    end + +    test "updates the user's show_role status", %{conn: conn} do +      user = insert(:user) + +      conn = +        conn +        |> assign(:user, user) +        |> patch("/api/v1/accounts/update_credentials", %{show_role: "false"}) + +      assert user = json_response(conn, 200) +      assert user["source"]["pleroma"]["show_role"] == false +    end + +    test "updates the user's no_rich_text status", %{conn: conn} do +      user = insert(:user) + +      conn = +        conn +        |> assign(:user, user) +        |> patch("/api/v1/accounts/update_credentials", %{no_rich_text: "true"}) + +      assert user = json_response(conn, 200) +      assert user["source"]["pleroma"]["no_rich_text"] == true +    end +      test "updates the user's name", %{conn: conn} do        user = insert(:user) @@ -2279,6 +2351,33 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do          end        end      end + +    test "updates profile emojos", %{conn: conn} do +      user = insert(:user) + +      note = "*sips :blank:*" +      name = "I am :firefox:" + +      conn = +        conn +        |> assign(:user, user) +        |> patch("/api/v1/accounts/update_credentials", %{ +          "note" => note, +          "display_name" => name +        }) + +      assert json_response(conn, 200) + +      conn = +        conn +        |> get("/api/v1/accounts/#{user.id}") + +      assert user = json_response(conn, 200) + +      assert user["note"] == note +      assert user["display_name"] == name +      assert [%{"shortcode" => "blank"}, %{"shortcode" => "firefox"}] = user["emojis"] +    end    end    test "get instance information", %{conn: conn} do diff --git a/test/web/mastodon_api/status_view_test.exs b/test/web/mastodon_api/status_view_test.exs index f74726212..5fddc6c58 100644 --- a/test/web/mastodon_api/status_view_test.exs +++ b/test/web/mastodon_api/status_view_test.exs @@ -6,6 +6,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do    use Pleroma.DataCase    alias Pleroma.Activity +  alias Pleroma.Bookmark    alias Pleroma.Object    alias Pleroma.Repo    alias Pleroma.User @@ -153,6 +154,25 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do      assert status.muted == true    end +  test "tells if the status is bookmarked" do +    user = insert(:user) + +    {:ok, activity} = CommonAPI.post(user, %{"status" => "Cute girls doing cute things"}) +    status = StatusView.render("status.json", %{activity: activity}) + +    assert status.bookmarked == false + +    status = StatusView.render("status.json", %{activity: activity, for: user}) + +    assert status.bookmarked == false + +    {:ok, _bookmark} = Bookmark.create(user.id, activity.id) + +    status = StatusView.render("status.json", %{activity: activity, for: user}) + +    assert status.bookmarked == true +  end +    test "a reply" do      note = insert(:note_activity)      user = insert(:user)  | 
