47 lines
1.3 KiB
Elixir
47 lines
1.3 KiB
Elixir
defmodule Mobilizon.Service.Admin.ActionLogTest do
|
|
@moduledoc """
|
|
Test the ActionLog module.
|
|
"""
|
|
|
|
use Mobilizon.DataCase
|
|
|
|
import Mobilizon.Factory
|
|
|
|
alias Mobilizon.Admin
|
|
alias Mobilizon.Admin.ActionLog
|
|
alias Mobilizon.Reports.{Note, Report}
|
|
|
|
setup do
|
|
moderator_user = insert(:user, role: :moderator)
|
|
moderator_actor = insert(:actor, user: moderator_user)
|
|
{:ok, moderator: moderator_actor}
|
|
end
|
|
|
|
describe "action_log_creation" do
|
|
test "log a report update", %{moderator: moderator} do
|
|
%Report{id: _report_id} = report = insert(:report)
|
|
|
|
assert {:ok,
|
|
%ActionLog{
|
|
target_type: "Elixir.Mobilizon.Reports.Report",
|
|
target_id: report_id,
|
|
action: :update,
|
|
actor: moderator
|
|
}} = Admin.log_action(moderator, "update", report)
|
|
end
|
|
|
|
test "log the creation of a report note", %{moderator: moderator} do
|
|
%Report{} = report = insert(:report)
|
|
%Note{id: _note_id} = report = insert(:report_note, report: report)
|
|
|
|
assert {:ok,
|
|
%ActionLog{
|
|
target_type: "Elixir.Mobilizon.Reports.Note",
|
|
target_id: note_id,
|
|
action: :create,
|
|
actor: moderator
|
|
}} = Admin.log_action(moderator, "create", report)
|
|
end
|
|
end
|
|
end
|