Tests for FarmbotOS.Lua.Ext.FirmwareTest

pull/1191/head
Rick Carlino 2020-04-09 11:27:32 -05:00
parent 726da83ed1
commit abd6749434
3 changed files with 59 additions and 2 deletions

View File

@ -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

View File

@ -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

View File

@ -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()