summaryrefslogtreecommitdiff
path: root/test/web/pleroma_api
diff options
context:
space:
mode:
authorIvan Tashkinov <ivantashkinov@gmail.com>2020-07-22 19:06:00 +0300
committerIvan Tashkinov <ivantashkinov@gmail.com>2020-07-22 19:06:00 +0300
commit6f5f7af607518b6f67df68bab9bf76142e9a622c (patch)
tree42b8040061d9401865c28e6de4f8bb454bf0ba79 /test/web/pleroma_api
parent1c9752cff445ab1f58cea1617d3c7ab73da60e10 (diff)
downloadpleroma-6f5f7af607518b6f67df68bab9bf76142e9a622c.tar.gz
pleroma-6f5f7af607518b6f67df68bab9bf76142e9a622c.zip
[#1973] Fixed accounts rendering in GET /api/v1/pleroma/chats with truish :restrict_unauthenticated.
Made `Pleroma.Web.MastodonAPI.AccountView.render("show.json", _)` demand :for or :force option in order to prevent incorrect rendering of empty map instead of expected user representation with truish :restrict_unauthenticated setting.
Diffstat (limited to 'test/web/pleroma_api')
-rw-r--r--test/web/pleroma_api/controllers/chat_controller_test.exs22
-rw-r--r--test/web/pleroma_api/views/chat_view_test.exs2
2 files changed, 23 insertions, 1 deletions
diff --git a/test/web/pleroma_api/controllers/chat_controller_test.exs b/test/web/pleroma_api/controllers/chat_controller_test.exs
index 82e16741d..d71e80d03 100644
--- a/test/web/pleroma_api/controllers/chat_controller_test.exs
+++ b/test/web/pleroma_api/controllers/chat_controller_test.exs
@@ -332,5 +332,27 @@ defmodule Pleroma.Web.PleromaAPI.ChatControllerTest do
chat_1.id |> to_string()
]
end
+
+ test "it is not affected by :restrict_unauthenticated setting (issue #1973)", %{
+ conn: conn,
+ user: user
+ } do
+ clear_config([:restrict_unauthenticated, :profiles, :local], true)
+ clear_config([:restrict_unauthenticated, :profiles, :remote], true)
+
+ user2 = insert(:user)
+ user3 = insert(:user, local: false)
+
+ {:ok, _chat_12} = Chat.get_or_create(user.id, user2.ap_id)
+ {:ok, _chat_13} = Chat.get_or_create(user.id, user3.ap_id)
+
+ result =
+ conn
+ |> get("/api/v1/pleroma/chats")
+ |> json_response_and_validate_schema(200)
+
+ account_ids = Enum.map(result, &get_in(&1, ["account", "id"]))
+ assert Enum.sort(account_ids) == Enum.sort([user2.id, user3.id])
+ end
end
end
diff --git a/test/web/pleroma_api/views/chat_view_test.exs b/test/web/pleroma_api/views/chat_view_test.exs
index 14eecb1bd..46d47cd4f 100644
--- a/test/web/pleroma_api/views/chat_view_test.exs
+++ b/test/web/pleroma_api/views/chat_view_test.exs
@@ -26,7 +26,7 @@ defmodule Pleroma.Web.PleromaAPI.ChatViewTest do
assert represented_chat == %{
id: "#{chat.id}",
- account: AccountView.render("show.json", user: recipient),
+ account: AccountView.render("show.json", user: recipient, force: true),
unread: 0,
last_message: nil,
updated_at: Utils.to_masto_date(chat.updated_at)