From a4c342f4cf9105e36f5aa89c4428ee38c881b570 Mon Sep 17 00:00:00 2001 From: Rick Carlino Date: Wed, 29 Jan 2020 13:58:35 -0600 Subject: [PATCH] (15.7%) Test cases for erroneous command()s --- farmbot_firmware/.gitignore | 3 +- .../test/farmbot_firmware/command_test.exs | 37 +++++++++++++------ 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/farmbot_firmware/.gitignore b/farmbot_firmware/.gitignore index c4504cc0..46bb2ce6 100644 --- a/farmbot_firmware/.gitignore +++ b/farmbot_firmware/.gitignore @@ -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 \ No newline at end of file +*.txt diff --git a/farmbot_firmware/test/farmbot_firmware/command_test.exs b/farmbot_firmware/test/farmbot_firmware/command_test.exs index 94c4c8db..36898400 100644 --- a/farmbot_firmware/test/farmbot_firmware/command_test.exs +++ b/farmbot_firmware/test/farmbot_firmware/command_test.exs @@ -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