cceb083ad7
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
81 lines
2.1 KiB
Elixir
81 lines
2.1 KiB
Elixir
defmodule Mobilizon.Service.ErrorReportingTest do
|
|
@moduledoc """
|
|
Mpdule to test loading and configuring error reporting adapters
|
|
"""
|
|
|
|
use ExUnit.Case, async: true
|
|
import Mox
|
|
alias Mobilizon.Service.ErrorReporting
|
|
|
|
defmock(ErrorReportingMock, for: ErrorReporting)
|
|
|
|
describe "adapter/0 returns the enabled adapter" do
|
|
test "adapter/0 returns the configured adapter if enabled" do
|
|
expect(ErrorReportingMock, :enabled?, fn ->
|
|
true
|
|
end)
|
|
|
|
Mobilizon.Config.put([Mobilizon.Service.ErrorReporting, :adapter], ErrorReportingMock)
|
|
|
|
assert ErrorReportingMock == ErrorReporting.adapter()
|
|
end
|
|
|
|
test "adapter/0 returns nothing if configured adapter is not enabled" do
|
|
expect(ErrorReportingMock, :enabled?, fn ->
|
|
false
|
|
end)
|
|
|
|
Mobilizon.Config.put([Mobilizon.Service.ErrorReporting, :adapter], ErrorReportingMock)
|
|
|
|
assert nil == ErrorReporting.adapter()
|
|
end
|
|
|
|
test "adapter/0 returns nothing if not adapter is configured adapter is configured" do
|
|
expect(ErrorReportingMock, :enabled?, fn ->
|
|
true
|
|
end)
|
|
|
|
Mobilizon.Config.put([Mobilizon.Service.ErrorReporting, :adapter], nil)
|
|
|
|
assert nil == ErrorReporting.adapter()
|
|
end
|
|
end
|
|
|
|
describe "forwards to the configured adapter the method" do
|
|
setup do
|
|
expect(ErrorReportingMock, :enabled?, fn ->
|
|
true
|
|
end)
|
|
|
|
Mobilizon.Config.put([Mobilizon.Service.ErrorReporting, :adapter], ErrorReportingMock)
|
|
|
|
:ok
|
|
end
|
|
|
|
test "attach/0" do
|
|
expect(ErrorReportingMock, :attach, fn ->
|
|
:attached
|
|
end)
|
|
|
|
assert :attached == ErrorReporting.attach()
|
|
end
|
|
|
|
test "handle_event/4" do
|
|
expect(ErrorReportingMock, :handle_event, fn arg1, arg2, arg3, arg4 ->
|
|
{:handled_event, [arg1, arg2, arg3, arg4]}
|
|
end)
|
|
|
|
assert {:handled_event, [:one, :two, :three, :four]} ==
|
|
ErrorReporting.handle_event(:one, :two, :three, :four)
|
|
end
|
|
|
|
test "configure/0" do
|
|
expect(ErrorReportingMock, :configure, fn ->
|
|
:configured
|
|
end)
|
|
|
|
assert :configured == ErrorReporting.configure()
|
|
end
|
|
end
|
|
end
|