34 lines
1 KiB
Elixir
34 lines
1 KiB
Elixir
defmodule Aprsme.ApplicationTest do
|
|
use ExUnit.Case, async: false
|
|
|
|
describe "config_change/3" do
|
|
test "returns :ok" do
|
|
assert :ok = Aprsme.Application.config_change(%{}, %{}, [])
|
|
end
|
|
|
|
test "returns :ok with populated change maps" do
|
|
assert :ok =
|
|
Aprsme.Application.config_change(
|
|
%{secret_key_base: "x"},
|
|
%{},
|
|
[:removed_key]
|
|
)
|
|
end
|
|
end
|
|
|
|
describe "start/2" do
|
|
test "module is loaded and exports the Application behaviour callbacks" do
|
|
Code.ensure_loaded(Aprsme.Application)
|
|
assert function_exported?(Aprsme.Application, :start, 2)
|
|
assert function_exported?(Aprsme.Application, :config_change, 3)
|
|
end
|
|
end
|
|
|
|
describe "module compilation" do
|
|
test "Application module is loaded and has the Application behaviour" do
|
|
Code.ensure_loaded!(Aprsme.Application)
|
|
behaviours = Aprsme.Application.module_info(:attributes)[:behaviour] || []
|
|
assert Application in behaviours
|
|
end
|
|
end
|
|
end
|