59 lines
1.9 KiB
Elixir
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
|