44 lines
1.3 KiB
Elixir
44 lines
1.3 KiB
Elixir
|
defmodule Mobilizon.Service.Admin.ActionLogServiceTest do
|
||
|
@moduledoc """
|
||
|
Test the ActionLogService module
|
||
|
"""
|
||
|
use Mobilizon.DataCase
|
||
|
import Mobilizon.Service.Admin.ActionLogService
|
||
|
alias Mobilizon.Reports.{Report, Note}
|
||
|
alias Mobilizon.Admin.ActionLog
|
||
|
import Mobilizon.Factory
|
||
|
|
||
|
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
|
||
|
}} = 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
|
||
|
}} = log_action(moderator, "create", report)
|
||
|
end
|
||
|
end
|
||
|
end
|