Merge conflicts
commit
ef78de66eb
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"coverage_options": {
|
||||
"treat_no_relevant_lines_as_covered": true,
|
||||
"minimum_coverage": 21
|
||||
"minimum_coverage": 24
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ defimpl FarmbotCore.AssetWorker, for: FarmbotCore.Asset.Device do
|
|||
|
||||
{:mounted_tool_id, id} ->
|
||||
if tool = Asset.get_tool(id: id) do
|
||||
FarmbotCore.Logger.info(2, "Farmbot mounted #{tool.name}")
|
||||
FarmbotCore.Logger.info(2, "Mounted the #{tool.name}")
|
||||
else
|
||||
FarmbotCore.Logger.info(2, "Farmbot mounted unknown tool")
|
||||
end
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
defmodule FarmbotCore.Asset.BoxLedTest do
|
||||
use ExUnit.Case, async: false
|
||||
alias FarmbotCore.Asset.BoxLed
|
||||
|
||||
test "to_string" do
|
||||
assert "BoxLed 23" == to_string(%BoxLed{id: 23})
|
||||
end
|
||||
end
|
|
@ -1,6 +1,54 @@
|
|||
defmodule FarmbotCore.Asset.CommandTest do
|
||||
use ExUnit.Case, async: false
|
||||
alias FarmbotCore.{Asset, Asset.Command}
|
||||
|
||||
alias FarmbotCore.{
|
||||
Asset,
|
||||
Asset.Device,
|
||||
Asset.FbosConfig,
|
||||
Asset.FirmwareConfig,
|
||||
Asset.Command
|
||||
}
|
||||
|
||||
test "update / destroy firmware config" do
|
||||
params = %{
|
||||
id: 23,
|
||||
movement_invert_motor_x: 12.34
|
||||
}
|
||||
|
||||
:ok = Command.update(FirmwareConfig, 23, params)
|
||||
config = Enum.at(Asset.Repo.all(FirmwareConfig), 0)
|
||||
assert config.movement_invert_motor_x == params[:movement_invert_motor_x]
|
||||
|
||||
:ok = Command.update(FirmwareConfig, 23, nil)
|
||||
next_config = Enum.at(Asset.Repo.all(FirmwareConfig), 0)
|
||||
refute next_config
|
||||
|
||||
# Restore config to old value
|
||||
:ok = Command.update(FirmwareConfig, 23, Map.from_struct(config))
|
||||
end
|
||||
|
||||
test "update / destroy fbos config" do
|
||||
params = %{id: 23, update_channel: "whatever"}
|
||||
:ok = Command.update(FbosConfig, 23, params)
|
||||
config = Enum.at(Asset.Repo.all(FbosConfig), 0)
|
||||
assert config.update_channel == params[:update_channel]
|
||||
|
||||
:ok = Command.update(FbosConfig, 23, nil)
|
||||
next_config = Enum.at(Asset.Repo.all(FbosConfig), 0)
|
||||
refute next_config
|
||||
end
|
||||
|
||||
test "update / destroy device" do
|
||||
params = %{id: 23, name: "Old Device"}
|
||||
:ok = Command.update(Device, 23, params)
|
||||
device = Enum.at(Asset.Repo.all(Device), 0)
|
||||
assert device.name == params[:name]
|
||||
|
||||
:ok = Command.update(Device, 23, nil)
|
||||
next_device = Enum.at(Asset.Repo.all(Device), 0)
|
||||
refute next_device
|
||||
:ok = Command.update(Device, 23, Map.from_struct(device))
|
||||
end
|
||||
|
||||
test "insert new regimen" do
|
||||
id = id()
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
defmodule FarmbotCore.Asset.FarmwareInstallationTest do
|
||||
use ExUnit.Case, async: true
|
||||
alias FarmbotCore.Asset.FarmwareInstallation
|
||||
|
||||
def fake_install() do
|
||||
%FarmwareInstallation{
|
||||
id: 23,
|
||||
url: "http://www.lycos.com",
|
||||
manifest: %{
|
||||
package: "xpackage",
|
||||
language: "xlanguage",
|
||||
author: "xauthor",
|
||||
description: "xdescription",
|
||||
url: "xurl",
|
||||
zip: "xzip",
|
||||
executable: "xexecutable",
|
||||
args: "xargs",
|
||||
config: "xconfig",
|
||||
package_version: "xpackage_version",
|
||||
farmware_manifest_version: "xfarmware_manifest_version",
|
||||
farmware_tools_version_requirement:
|
||||
"xfarmware_tools_version_requirement",
|
||||
farmbot_os_version_requirement: "xfarmbot_os_version_requirement"
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
test "changeset" do
|
||||
cs = FarmwareInstallation.changeset(fake_install())
|
||||
assert cs.valid?
|
||||
end
|
||||
|
||||
test "view" do
|
||||
pg = fake_install()
|
||||
|
||||
expected = %{id: 23, url: "http://www.lycos.com"}
|
||||
|
||||
actual = FarmwareInstallation.render(pg)
|
||||
assert expected == actual
|
||||
end
|
||||
end
|
|
@ -0,0 +1,32 @@
|
|||
defmodule FarmbotCore.Asset.PointGroupTest do
|
||||
use ExUnit.Case, async: true
|
||||
alias FarmbotCore.Asset.PointGroup
|
||||
|
||||
def fake_pg() do
|
||||
%PointGroup{
|
||||
id: 23,
|
||||
name: "wow",
|
||||
point_ids: [1, 2],
|
||||
sort_type: "random"
|
||||
}
|
||||
end
|
||||
|
||||
test "changeset" do
|
||||
cs = PointGroup.changeset(fake_pg())
|
||||
assert cs.valid?
|
||||
end
|
||||
|
||||
test "view" do
|
||||
pg = fake_pg()
|
||||
|
||||
expected = %{
|
||||
id: 23,
|
||||
name: "wow",
|
||||
point_ids: [1, 2],
|
||||
sort_type: "random"
|
||||
}
|
||||
|
||||
actual = PointGroup.render(pg)
|
||||
assert expected == actual
|
||||
end
|
||||
end
|
|
@ -101,6 +101,7 @@ defmodule FarmbotOS.SysCalls.Movement do
|
|||
def handle_movement_error(reason) do
|
||||
msg = "Movement failed. #{inspect(reason)}"
|
||||
FarmbotCore.Logger.error(1, msg)
|
||||
{:error, msg}
|
||||
end
|
||||
|
||||
def calibrate(axis) do
|
||||
|
|
|
@ -80,8 +80,15 @@ defmodule FarmbotOS.SysCalls.MovementTest do
|
|||
"kaboom"
|
||||
end)
|
||||
|
||||
error_log = Movement.move_absolute(1, 2, 3, 4)
|
||||
assert "Movement failed. \"kaboom\"" == error_log.message
|
||||
msg = "Movement failed. \"kaboom\""
|
||||
|
||||
expect(FarmbotCore.LogExecutor, :execute, 1, fn log ->
|
||||
assert log.message == msg
|
||||
end)
|
||||
|
||||
{:error, error_log} = Movement.move_absolute(1, 2, 3, 4)
|
||||
|
||||
assert msg == error_log
|
||||
end
|
||||
|
||||
test "move_absolute/4 - error (in tuple)" do
|
||||
|
@ -89,9 +96,15 @@ defmodule FarmbotOS.SysCalls.MovementTest do
|
|||
{:error, "boom"}
|
||||
end)
|
||||
|
||||
message = "Movement failed. \"boom\""
|
||||
msg = "Movement failed. \"boom\""
|
||||
|
||||
assert message == Movement.move_absolute(1, 2, 3, 4).message
|
||||
expect(FarmbotCore.LogExecutor, :execute, 1, fn log ->
|
||||
assert log.message == msg
|
||||
end)
|
||||
|
||||
{:error, error_log} = Movement.move_absolute(1, 2, 3, 4)
|
||||
|
||||
assert msg == error_log
|
||||
end
|
||||
|
||||
test "get_position/1 - error" do
|
||||
|
|
|
@ -40,6 +40,7 @@ defmodule FarmbotOS.SysCalls.PointLookupTest do
|
|||
test "PointLookup.get_toolslot_for_tool/1" do
|
||||
Repo.delete_all(Point)
|
||||
Repo.delete_all(Tool)
|
||||
|
||||
t = tool(%{name: "moisture probe"})
|
||||
|
||||
important_part = %{
|
||||
|
|
Loading…
Reference in New Issue