Fix report content stopping to be nullable
authorrinpatch <rinpatch@sdf.org>
Sun, 16 Jun 2019 09:57:58 +0000 (12:57 +0300)
committerrinpatch <rinpatch@sdf.org>
Sun, 16 Jun 2019 10:06:12 +0000 (13:06 +0300)
lib/pleroma/web/admin_api/views/report_view.ex
test/web/admin_api/views/report_view_test.exs

index a17a23ca3b85b9f4ab45f2af4157aa79dfdb58f8..e7db3a8fff827ad7f6199d4edf2788c2af3761df 100644 (file)
@@ -24,6 +24,13 @@ defmodule Pleroma.Web.AdminAPI.ReportView do
     [account_ap_id | status_ap_ids] = report.data["object"]
     account = User.get_cached_by_ap_id(account_ap_id)
 
+    content =
+      unless is_nil(report.data["content"]) do
+        HTML.filter_tags(report.data["content"])
+      else
+        nil
+      end
+
     statuses =
       Enum.map(status_ap_ids, fn ap_id ->
         Activity.get_by_ap_id_with_object(ap_id)
@@ -33,7 +40,7 @@ defmodule Pleroma.Web.AdminAPI.ReportView do
       id: report.id,
       account: AccountView.render("account.json", %{user: account}),
       actor: AccountView.render("account.json", %{user: user}),
-      content: HTML.filter_tags(report.data["content"]),
+      content: content,
       created_at: created_at,
       statuses: StatusView.render("index.json", %{activities: statuses, as: :activity}),
       state: report.data["state"]
index 51c26a11724419d2f506d4226cc6f206cd005186..f35f36cac3a9391acc0a9890e27dc3fdd7c10d47 100644 (file)
@@ -17,7 +17,7 @@ defmodule Pleroma.Web.AdminAPI.ReportViewTest do
     {:ok, activity} = CommonAPI.report(user, %{"account_id" => other_user.id})
 
     expected = %{
-      content: "",
+      content: nil,
       actor: AccountView.render("account.json", %{user: user}),
       account: AccountView.render("account.json", %{user: other_user}),
       statuses: [],
@@ -41,7 +41,7 @@ defmodule Pleroma.Web.AdminAPI.ReportViewTest do
       CommonAPI.report(user, %{"account_id" => other_user.id, "status_ids" => [activity.id]})
 
     expected = %{
-      content: "",
+      content: nil,
       actor: AccountView.render("account.json", %{user: user}),
       account: AccountView.render("account.json", %{user: other_user}),
       statuses: [StatusView.render("status.json", %{activity: activity})],
@@ -92,7 +92,7 @@ defmodule Pleroma.Web.AdminAPI.ReportViewTest do
     data = Map.put(activity.data, "content", "<script> alert('hecked :D:D:D:D:D:D:D') </script>")
     activity = Map.put(activity, :data, data)
 
-    refute %{content: "<script> alert('hecked :D:D:D:D:D:D:D') </script>"} ==
+    refute "<script> alert('hecked :D:D:D:D:D:D:D') </script>" ==
              ReportView.render("show.json", %{report: activity})[:content]
   end
 end