logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma
commit: a565dbde4f2262bf30ea2df50f08454f2edda900
parent: 79c88a257f8e33bf55ce6b18c32a791d6bf9546d
Author: kaniini <nenolod@gmail.com>
Date:   Tue,  2 Jul 2019 01:27:00 +0000

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

Diffstat:

Mlib/pleroma/web/admin_api/views/report_view.ex4+++-
Mtest/web/admin_api/views/report_view_test.exs16++++++++++++++++
2 files changed, 19 insertions(+), 1 deletion(-)

diff --git 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 @@ -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