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