diff options
author | kaniini <nenolod@gmail.com> | 2019-07-02 01:27:00 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2019-07-02 01:27:00 +0000 |
commit | a565dbde4f2262bf30ea2df50f08454f2edda900 (patch) | |
tree | d2b758f2d38065c03b4b6085ceb654c8af19a64f | |
parent | 79c88a257f8e33bf55ce6b18c32a791d6bf9546d (diff) | |
parent | ab50c6b3ca26c87e4b7fdbe04da5d0d236d2e9ce (diff) | |
download | pleroma-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.ex | 4 | ||||
-rw-r--r-- | test/web/admin_api/views/report_view_test.exs | 16 |
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 |