summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkaniini <nenolod@gmail.com>2019-07-02 01:27:00 +0000
committerkaniini <nenolod@gmail.com>2019-07-02 01:27:00 +0000
commita565dbde4f2262bf30ea2df50f08454f2edda900 (patch)
treed2b758f2d38065c03b4b6085ceb654c8af19a64f
parent79c88a257f8e33bf55ce6b18c32a791d6bf9546d (diff)
parentab50c6b3ca26c87e4b7fdbe04da5d0d236d2e9ce (diff)
downloadpleroma-a565dbde4f2262bf30ea2df50f08454f2edda900.tar.gz
pleroma-a565dbde4f2262bf30ea2df50f08454f2edda900.zip
Merge branch 'admin-report-view-user-fallback' into 'develop'
Handle deleted reported accounts in report admin API Closes #1046 See merge request pleroma/pleroma!1370
-rw-r--r--lib/pleroma/web/admin_api/views/report_view.ex4
-rw-r--r--test/web/admin_api/views/report_view_test.exs16
2 files changed, 19 insertions, 1 deletions
diff --git a/lib/pleroma/web/admin_api/views/report_view.ex b/lib/pleroma/web/admin_api/views/report_view.ex
index 73ccdc582..a25f3f1fe 100644
--- a/lib/pleroma/web/admin_api/views/report_view.ex
+++ b/lib/pleroma/web/admin_api/views/report_view.ex
@@ -46,8 +46,10 @@ defmodule Pleroma.Web.AdminAPI.ReportView do
}
end
- defp merge_account_views(user) do
+ defp merge_account_views(%User{} = user) do
Pleroma.Web.MastodonAPI.AccountView.render("account.json", %{user: user})
|> Map.merge(Pleroma.Web.AdminAPI.AccountView.render("show.json", %{user: user}))
end
+
+ defp merge_account_views(_), do: %{}
end
diff --git a/test/web/admin_api/views/report_view_test.exs b/test/web/admin_api/views/report_view_test.exs
index 75d8bb4b5..a00c9c579 100644
--- a/test/web/admin_api/views/report_view_test.exs
+++ b/test/web/admin_api/views/report_view_test.exs
@@ -111,4 +111,20 @@ defmodule Pleroma.Web.AdminAPI.ReportViewTest do
refute "<script> alert('hecked :D:D:D:D:D:D:D') </script>" ==
ReportView.render("show.json", %{report: activity})[:content]
end
+
+ test "doesn't error out when the user doesn't exists" do
+ user = insert(:user)
+ other_user = insert(:user)
+
+ {:ok, activity} =
+ CommonAPI.report(user, %{
+ "account_id" => other_user.id,
+ "comment" => ""
+ })
+
+ Pleroma.User.delete(other_user)
+ Pleroma.User.invalidate_cache(other_user)
+
+ assert %{} = ReportView.render("show.json", %{report: activity})
+ end
end