(15.7%) Test cases for erroneous command()s

pull/1130/head
Rick Carlino 2020-01-29 13:58:35 -06:00
parent fb93dac7cd
commit a4c342f4cf
2 changed files with 28 additions and 12 deletions

View File

@ -3,6 +3,7 @@
# If you run "mix test --cover", coverage assets end up here.
/cover/
*.coverdata
# The directory Mix downloads your dependencies sources to.
/deps/
@ -23,4 +24,4 @@ erl_crash.dump
farmbot_firmware-*.tar
# Ignore vcr files
*.txt
*.txt

View File

@ -4,18 +4,33 @@ defmodule FarmbotFirmware.CommandTest do
setup :verify_on_exit!
alias FarmbotFirmware.Command
import ExUnit.CaptureLog
@mod FarmbotFirmware.Command
@subject FarmbotFirmware.Command
def firmware_server do
arg = [transport: FarmbotFirmware.StubTransport]
{:ok, pid} = FarmbotFirmware.start_link(arg, [])
pid
end
test "command(), error with tag" do
assert {:error, _} = @subject.command(firmware_server(), {:x, {:y, :z}})
end
test "command(), error no tag" do
assert {:error, _} = @subject.command(firmware_server(), {:x, :z})
end
test "enable_debug_logs" do
Application.put_env(:farmbot_firmware, @mod, foo: :bar, debug_log: false)
old_env = Application.get_env(:farmbot_firmware, @mod)
Application.put_env(:farmbot_firmware, @subject, foo: :bar, debug_log: false)
old_env = Application.get_env(:farmbot_firmware, @subject)
assert false == Keyword.fetch!(old_env, :debug_log)
assert :bar == Keyword.fetch!(old_env, :foo)
assert false == @mod.debug?()
assert false == @subject.debug?()
refute capture_log(fn ->
@mod.debug_log("Never Shown")
@subject.debug_log("Never Shown")
end) =~ "Never Shown"
# === Change ENV settings
@ -23,24 +38,24 @@ defmodule FarmbotFirmware.CommandTest do
Command.enable_debug_logs()
assert capture_log(fn ->
@mod.debug_log("Good!")
@subject.debug_log("Good!")
end) =~ "Good!"
assert true == @mod.debug?()
new_env = Application.get_env(:farmbot_firmware, @mod)
assert true == @subject.debug?()
new_env = Application.get_env(:farmbot_firmware, @subject)
assert true == Keyword.fetch!(new_env, :debug_log)
assert :bar == Keyword.fetch!(new_env, :foo)
# === And back again
assert :ok == Command.disable_debug_logs()
even_newer = Application.get_env(:farmbot_firmware, @mod)
even_newer = Application.get_env(:farmbot_firmware, @subject)
assert false == Keyword.fetch!(even_newer, :debug_log)
assert :bar == Keyword.fetch!(even_newer, :foo)
assert false == @mod.debug?()
assert false == @subject.debug?()
refute capture_log(fn ->
@mod.debug_log("Also Never Shown")
@subject.debug_log("Also Never Shown")
end) =~ "Also Never Shown"
end
end