pleroma/test/pleroma/web/admin_api/views/moderation_log_view_test.exs

99 lines
4.2 KiB
Elixir

# Pleroma: A lightweight social networking server
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
defmodule Pleroma.Web.AdminAPI.ModerationLogViewTest do
use Pleroma.DataCase, async: true
alias Pleroma.Web.AdminAPI.ModerationLogView
describe "renders `report_note_delete` log messages" do
setup do
log1 = %Pleroma.ModerationLog{
data: %{
"action" => "report_note_delete",
"actor" => %{"id" => "A1I7G8", "nickname" => "admin", "type" => "user"},
"message" => "@admin deleted note 'mistake' from report #A1I7be on user @b-612",
"subject" => %{"id" => "A1I7be", "state" => "open", "type" => "report"},
"subject_actor" => %{"id" => "A1I7G8", "nickname" => "b-612", "type" => "user"},
"text" => "mistake"
},
inserted_at: ~N[2020-11-17 14:13:20]
}
log2 = %Pleroma.ModerationLog{
data: %{
"action" => "report_note_delete",
"actor" => %{"id" => "A1I7G8", "nickname" => "admin", "type" => "user"},
"message" => "@admin deleted note 'fake user' from report #A1I7be on user @j-612",
"subject" => %{"id" => "A1I7be", "state" => "open", "type" => "report"},
"subject_actor" => %{"id" => "A1I7G8", "nickname" => "j-612", "type" => "user"},
"text" => "fake user"
},
inserted_at: ~N[2020-11-17 14:13:20]
}
{:ok, %{log1: log1, log2: log2}}
end
test "renders `report_note_delete` log messages", %{log1: log1, log2: log2} do
assert ModerationLogView.render(
"index.json",
%{log: %{items: [log1, log2], count: 2}}
) == %{
items: [
%{
data: %{
"action" => "report_note_delete",
"actor" => %{"id" => "A1I7G8", "nickname" => "admin", "type" => "user"},
"message" =>
"@admin deleted note 'mistake' from report #A1I7be on user @b-612",
"subject" => %{"id" => "A1I7be", "state" => "open", "type" => "report"},
"subject_actor" => %{
"id" => "A1I7G8",
"nickname" => "b-612",
"type" => "user"
},
"text" => "mistake"
},
message: "@admin deleted note 'mistake' from report #A1I7be on user @b-612",
time: 1_605_622_400
},
%{
data: %{
"action" => "report_note_delete",
"actor" => %{"id" => "A1I7G8", "nickname" => "admin", "type" => "user"},
"message" =>
"@admin deleted note 'fake user' from report #A1I7be on user @j-612",
"subject" => %{"id" => "A1I7be", "state" => "open", "type" => "report"},
"subject_actor" => %{
"id" => "A1I7G8",
"nickname" => "j-612",
"type" => "user"
},
"text" => "fake user"
},
message: "@admin deleted note 'fake user' from report #A1I7be on user @j-612",
time: 1_605_622_400
}
],
total: 2
}
end
test "renders `report_note_delete` log message", %{log1: log} do
assert ModerationLogView.render("show.json", %{log_entry: log}) == %{
data: %{
"action" => "report_note_delete",
"actor" => %{"id" => "A1I7G8", "nickname" => "admin", "type" => "user"},
"message" => "@admin deleted note 'mistake' from report #A1I7be on user @b-612",
"subject" => %{"id" => "A1I7be", "state" => "open", "type" => "report"},
"subject_actor" => %{"id" => "A1I7G8", "nickname" => "b-612", "type" => "user"},
"text" => "mistake"
},
message: "@admin deleted note 'mistake' from report #A1I7be on user @b-612",
time: 1_605_622_400
}
end
end
end