diff options
| -rw-r--r-- | lib/pleroma/web/mastodon_api/views/status_view.ex | 5 | ||||
| -rw-r--r-- | test/web/mastodon_api/mastodon_api_controller_test.exs | 10 | ||||
| -rw-r--r-- | test/web/mastodon_api/status_view_test.exs | 1 | 
3 files changed, 11 insertions, 5 deletions
| diff --git a/lib/pleroma/web/mastodon_api/views/status_view.ex b/lib/pleroma/web/mastodon_api/views/status_view.ex index 8e8fa8121..db543ffe5 100644 --- a/lib/pleroma/web/mastodon_api/views/status_view.ex +++ b/lib/pleroma/web/mastodon_api/views/status_view.ex @@ -76,6 +76,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do        reblogged: false,        favourited: false,        muted: false, +      pinned: pinned?(activity, user),        sensitive: false,        spoiler_text: "",        visibility: "public", @@ -142,6 +143,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do        reblogged: present?(repeated),        favourited: present?(favorited),        muted: false, +      pinned: pinned?(activity, user),        sensitive: sensitive,        spoiler_text: object["summary"] || "",        visibility: get_visibility(object), @@ -295,4 +297,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusView do    defp present?(nil), do: false    defp present?(false), do: false    defp present?(_), do: true + +  defp pinned?(%Activity{id: id}, %User{info: %{pinned_activities: pinned_activities}}), +    do: id in pinned_activities  end diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs index e7e42dd24..4a8c70b3b 100644 --- a/test/web/mastodon_api/mastodon_api_controller_test.exs +++ b/test/web/mastodon_api/mastodon_api_controller_test.exs @@ -1489,7 +1489,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do        id_str = Integer.to_string(activity.id) -      assert [%{"id" => ^id_str}] = result +      assert [%{"id" => ^id_str, "pinned" => true}] = result      end      test "pin status", %{conn: conn} do @@ -1499,14 +1499,14 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do        {:ok, activity} = CommonAPI.post(user, %{"status" => "HI!!!"})        id_str = Integer.to_string(activity.id) -      assert %{"id" => ^id_str} = +      assert %{"id" => ^id_str, "pinned" => true} =                 conn                 |> assign(:user, user)                 |> post("/api/v1/statuses/#{activity.id}/pin")                 |> Map.get(:resp_body)                 |> Jason.decode!() -      assert [%{"id" => ^id_str}] = +      assert [%{"id" => ^id_str, "pinned" => true}] =                 conn                 |> assign(:user, user)                 |> get("/api/v1/accounts/#{user.id}/statuses?pinned=true") @@ -1524,7 +1524,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do        id_str = Integer.to_string(activity.id)        user = User.get_by_ap_id(user.ap_id) -      assert %{"id" => ^id_str} = +      assert %{"id" => ^id_str, "pinned" => false} =                 conn                 |> assign(:user, user)                 |> post("/api/v1/statuses/#{activity.id}/unpin") @@ -1549,7 +1549,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do        id_str_one = Integer.to_string(activity_one.id) -      assert %{"id" => ^id_str_one} = +      assert %{"id" => ^id_str_one, "pinned" => true} =                 conn                 |> assign(:user, user)                 |> post("/api/v1/statuses/#{id_str_one}/pin") diff --git a/test/web/mastodon_api/status_view_test.exs b/test/web/mastodon_api/status_view_test.exs index b953ccd76..1076b5002 100644 --- a/test/web/mastodon_api/status_view_test.exs +++ b/test/web/mastodon_api/status_view_test.exs @@ -63,6 +63,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do        reblogged: false,        favourited: false,        muted: false, +      pinned: false,        sensitive: false,        spoiler_text: note.data["object"]["summary"],        visibility: "public", | 
