farmbot_os/farmbot_firmware/test/package_utils_test.exs

59 lines
1.9 KiB
Elixir

defmodule FarmbotFirmware.PackageUtilsTest do
use ExUnit.Case
use Mimic
setup :verify_on_exit!
alias FarmbotFirmware.PackageUtils
test "package to string" do
assert PackageUtils.package_to_string("arduino") ==
"Arduino/RAMPS (Genesis v1.2)"
assert PackageUtils.package_to_string("farmduino") ==
"Farmduino (Genesis v1.3)"
assert PackageUtils.package_to_string("farmduino_k14") ==
"Farmduino (Genesis v1.4)"
assert PackageUtils.package_to_string("farmduino_k15") ==
"Farmduino (Genesis v1.5)"
assert PackageUtils.package_to_string("express_k10") ==
"Farmduino (Express v1.0)"
assert PackageUtils.package_to_string("misc") == "misc"
end
test "not finding files" do
expect(File, :exists?, 1, fn _fname ->
false
end)
{:error, error} = PackageUtils.find_hex_file("arduino")
assert String.contains?(error, "Please call `make arudino_firmware`.")
end
test "finding files" do
{:ok, path} = PackageUtils.find_hex_file("arduino")
assert String.contains?(path, "/farmbot_firmware/priv/arduino_firmware.hex")
{:ok, path} = PackageUtils.find_hex_file("farmduino")
assert String.contains?(path, "/farmbot_firmware/priv/farmduino.hex")
{:ok, path} = PackageUtils.find_hex_file("farmduino_k14")
assert String.contains?(path, "/farmbot_firmware/priv/farmduino_k14.hex")
{:ok, path} = PackageUtils.find_hex_file("farmduino_k15")
assert String.contains?(path, "/farmbot_firmware/priv/farmduino_k15.hex")
{:ok, path} = PackageUtils.find_hex_file("express_k10")
assert String.contains?(path, "/farmbot_firmware/priv/express_k10.hex")
{:ok, path} = PackageUtils.find_hex_file("none")
assert path =~ "lib/farmbot_firmware/priv/eeprom_clear.ino.hex"
assert {:error, "unknown firmware hardware: no"} ==
PackageUtils.find_hex_file("no")
end
end