Restricted embedding of relationships where applicable (statuses / notifications / accounts rendering).

Added support for :skip_notifications for accounts listing (index.json).
Adjusted tests.
This commit is contained in:
Ivan Tashkinov 2020-05-01 18:45:24 +03:00
commit d5cdc907e3
18 changed files with 94 additions and 70 deletions

View file

@ -12,9 +12,7 @@ defmodule Pleroma.Web.MastodonAPI.NotificationControllerTest do
import Pleroma.Factory
test "does NOT render account/pleroma/relationship if this is disabled by default" do
clear_config([:extensions, :output_relationships_in_statuses_by_default], false)
test "does NOT render account/pleroma/relationship by default" do
%{user: user, conn: conn} = oauth_access(["read:notifications"])
other_user = insert(:user)

View file

@ -1058,7 +1058,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do
end
test "bookmarks" do
bookmarks_uri = "/api/v1/bookmarks?with_relationships=true"
bookmarks_uri = "/api/v1/bookmarks"
%{conn: conn} = oauth_access(["write:bookmarks", "read:bookmarks"])
author = insert(:user)

View file

@ -20,12 +20,10 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
describe "home" do
setup do: oauth_access(["read:statuses"])
test "does NOT render account/pleroma/relationship if this is disabled by default", %{
test "does NOT render account/pleroma/relationship by default", %{
user: user,
conn: conn
} do
clear_config([:extensions, :output_relationships_in_statuses_by_default], false)
other_user = insert(:user)
{:ok, _} = CommonAPI.post(other_user, %{"status" => "hi @#{user.nickname}"})
@ -41,7 +39,7 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
end)
end
test "the home timeline", %{user: user, conn: conn} do
test "embeds account relationships with `with_relationships=true`", %{user: user, conn: conn} do
uri = "/api/v1/timelines/home?with_relationships=true"
following = insert(:user, nickname: "followed")
@ -69,13 +67,19 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
}
}
},
"account" => %{"pleroma" => %{"relationship" => %{"following" => true}}}
"account" => %{
"pleroma" => %{
"relationship" => %{"following" => true}
}
}
},
%{
"content" => "post",
"account" => %{
"acct" => "followed",
"pleroma" => %{"relationship" => %{"following" => true}}
"pleroma" => %{
"relationship" => %{"following" => true}
}
}
}
] = json_response(ret_conn, :ok)
@ -95,13 +99,19 @@ defmodule Pleroma.Web.MastodonAPI.TimelineControllerTest do
}
}
},
"account" => %{"pleroma" => %{"relationship" => %{"following" => true}}}
"account" => %{
"pleroma" => %{
"relationship" => %{"following" => true}
}
}
},
%{
"content" => "post",
"account" => %{
"acct" => "followed",
"pleroma" => %{"relationship" => %{"following" => true}}
"pleroma" => %{
"relationship" => %{"following" => true}
}
}
}
] = json_response(ret_conn, :ok)