[#3213] Hashtag-filtering functions in ActivityPub. Mix task for migrating hashtags...
[akkoma] / test / pleroma / web / admin_api / views / moderation_log_view_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4 defmodule Pleroma.Web.AdminAPI.ModerationLogViewTest do
5 use Pleroma.DataCase
6
7 alias Pleroma.Web.AdminAPI.ModerationLogView
8
9 describe "renders `report_note_delete` log messages" do
10 setup do
11 log1 = %Pleroma.ModerationLog{
12 data: %{
13 "action" => "report_note_delete",
14 "actor" => %{"id" => "A1I7G8", "nickname" => "admin", "type" => "user"},
15 "message" => "@admin deleted note 'mistake' from report #A1I7be on user @b-612",
16 "subject" => %{"id" => "A1I7be", "state" => "open", "type" => "report"},
17 "subject_actor" => %{"id" => "A1I7G8", "nickname" => "b-612", "type" => "user"},
18 "text" => "mistake"
19 },
20 inserted_at: ~N[2020-11-17 14:13:20]
21 }
22
23 log2 = %Pleroma.ModerationLog{
24 data: %{
25 "action" => "report_note_delete",
26 "actor" => %{"id" => "A1I7G8", "nickname" => "admin", "type" => "user"},
27 "message" => "@admin deleted note 'fake user' from report #A1I7be on user @j-612",
28 "subject" => %{"id" => "A1I7be", "state" => "open", "type" => "report"},
29 "subject_actor" => %{"id" => "A1I7G8", "nickname" => "j-612", "type" => "user"},
30 "text" => "fake user"
31 },
32 inserted_at: ~N[2020-11-17 14:13:20]
33 }
34
35 {:ok, %{log1: log1, log2: log2}}
36 end
37
38 test "renders `report_note_delete` log messages", %{log1: log1, log2: log2} do
39 assert ModerationLogView.render(
40 "index.json",
41 %{log: %{items: [log1, log2], count: 2}}
42 ) == %{
43 items: [
44 %{
45 data: %{
46 "action" => "report_note_delete",
47 "actor" => %{"id" => "A1I7G8", "nickname" => "admin", "type" => "user"},
48 "message" =>
49 "@admin deleted note 'mistake' from report #A1I7be on user @b-612",
50 "subject" => %{"id" => "A1I7be", "state" => "open", "type" => "report"},
51 "subject_actor" => %{
52 "id" => "A1I7G8",
53 "nickname" => "b-612",
54 "type" => "user"
55 },
56 "text" => "mistake"
57 },
58 message: "@admin deleted note 'mistake' from report #A1I7be on user @b-612",
59 time: 1_605_622_400
60 },
61 %{
62 data: %{
63 "action" => "report_note_delete",
64 "actor" => %{"id" => "A1I7G8", "nickname" => "admin", "type" => "user"},
65 "message" =>
66 "@admin deleted note 'fake user' from report #A1I7be on user @j-612",
67 "subject" => %{"id" => "A1I7be", "state" => "open", "type" => "report"},
68 "subject_actor" => %{
69 "id" => "A1I7G8",
70 "nickname" => "j-612",
71 "type" => "user"
72 },
73 "text" => "fake user"
74 },
75 message: "@admin deleted note 'fake user' from report #A1I7be on user @j-612",
76 time: 1_605_622_400
77 }
78 ],
79 total: 2
80 }
81 end
82
83 test "renders `report_note_delete` log message", %{log1: log} do
84 assert ModerationLogView.render("show.json", %{log_entry: log}) == %{
85 data: %{
86 "action" => "report_note_delete",
87 "actor" => %{"id" => "A1I7G8", "nickname" => "admin", "type" => "user"},
88 "message" => "@admin deleted note 'mistake' from report #A1I7be on user @b-612",
89 "subject" => %{"id" => "A1I7be", "state" => "open", "type" => "report"},
90 "subject_actor" => %{"id" => "A1I7G8", "nickname" => "b-612", "type" => "user"},
91 "text" => "mistake"
92 },
93 message: "@admin deleted note 'mistake' from report #A1I7be on user @b-612",
94 time: 1_605_622_400
95 }
96 end
97 end
98 end