Merge conflicts

pull/1158/head
Rick Carlino 2020-02-19 12:24:34 -06:00
commit ef78de66eb
9 changed files with 151 additions and 7 deletions

View File

@ -1,6 +1,6 @@
{
"coverage_options": {
"treat_no_relevant_lines_as_covered": true,
"minimum_coverage": 21
"minimum_coverage": 24
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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 = %{