From abd67494345e7a5fd3887c2eee88f41d12219103 Mon Sep 17 00:00:00 2001 From: Rick Carlino Date: Thu, 9 Apr 2020 11:27:32 -0500 Subject: [PATCH] Tests for FarmbotOS.Lua.Ext.FirmwareTest --- farmbot_os/lib/farmbot_os/lua/ext/firmware.ex | 2 +- .../test/farmbot_os/lua/ext/firmware_test.exs | 56 +++++++++++++++++++ farmbot_os/test/test_helper.exs | 3 +- 3 files changed, 59 insertions(+), 2 deletions(-) diff --git a/farmbot_os/lib/farmbot_os/lua/ext/firmware.ex b/farmbot_os/lib/farmbot_os/lua/ext/firmware.ex index d371a3d9..fcb56d5a 100644 --- a/farmbot_os/lib/farmbot_os/lua/ext/firmware.ex +++ b/farmbot_os/lib/farmbot_os/lua/ext/firmware.ex @@ -1,6 +1,6 @@ defmodule FarmbotOS.Lua.Ext.Firmware do @moduledoc """ - Lua extensions for interacting with the Firmware + Lua extensions for interacting with the Firmware """ alias FarmbotCeleryScript.SysCalls diff --git a/farmbot_os/test/farmbot_os/lua/ext/firmware_test.exs b/farmbot_os/test/farmbot_os/lua/ext/firmware_test.exs index 1f657c0e..cb6e0ed7 100644 --- a/farmbot_os/test/farmbot_os/lua/ext/firmware_test.exs +++ b/farmbot_os/test/farmbot_os/lua/ext/firmware_test.exs @@ -16,4 +16,60 @@ defmodule FarmbotOS.Lua.Ext.FirmwareTest do assert {[true], ^lua} = Firmware.calibrate(["x"], lua) assert {[nil, ^msg], ^lua} = Firmware.calibrate(["y"], lua) end + + test "move_absolute/2" do + msg = "expected stub error" + lua = "return" + + expect(FarmbotCeleryScript.SysCalls, :move_absolute, 4, fn + (1, _, _, _) -> :ok + (_, _, _, _) -> {:error, msg} + end) + + assert {[true], ^lua} = Firmware.move_absolute([1,2,3,4], lua) + assert {[nil, ^msg], ^lua} = Firmware.move_absolute([5,6,7,8], lua) + assert {[true], ^lua} = Firmware.move_absolute([1,2,3], lua) + assert {[nil, ^msg], ^lua} = Firmware.move_absolute([5,6,7], lua) + end + + test "find_home/2" do + msg = "expected stub error" + lua = "return" + + expect(FarmbotCeleryScript.SysCalls, :find_home, 2, fn + "x" -> :ok + _ -> {:error, msg} + end) + + assert {[true], ^lua} = Firmware.find_home(["x"], lua) + assert {[nil, ^msg], ^lua} = Firmware.find_home(["y"], lua) + end + + test "emergency_lock/2" do + msg = "expected stub error" + lua = "return" + + expect(FarmbotCeleryScript.SysCalls, :emergency_lock, 1, fn -> :ok end) + assert {[true], ^lua} = Firmware.emergency_lock(:ok, lua) + + expect(FarmbotCeleryScript.SysCalls, :emergency_lock, 1, fn -> + {:error, msg} + end) + + assert {[nil, ^msg], ^lua} = Firmware.emergency_lock(nil, lua) + end + + test "emergency_unlock/2" do + msg = "expected stub error" + lua = "return" + + expect(FarmbotCeleryScript.SysCalls, :emergency_unlock, 1, fn -> :ok end) + assert {[true], ^lua} = Firmware.emergency_unlock(:ok, lua) + + expect(FarmbotCeleryScript.SysCalls, :emergency_unlock, 1, fn -> + {:error, msg} + end) + + assert {[nil, ^msg], ^lua} = Firmware.emergency_unlock(nil, lua) + end end diff --git a/farmbot_os/test/test_helper.exs b/farmbot_os/test/test_helper.exs index e8937831..3230c076 100644 --- a/farmbot_os/test/test_helper.exs +++ b/farmbot_os/test/test_helper.exs @@ -20,6 +20,7 @@ Application.ensure_all_started(:mimic) File, MuonTrap, FarmbotCeleryScript.SysCalls -] |> Enum.map(&Mimic.copy/1) +] +|> Enum.map(&Mimic.copy/1) ExUnit.start()