move to 2.5.5
[anni] / test / pleroma / web / admin_api / views / moderation_log_view_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2022 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