aprs.me/test/aprsme_web/test_helpers_test.exs

61 lines
1.8 KiB
Elixir

defmodule AprsmeWeb.TestHelpersTest do
use Aprsme.DataCase, async: true
alias AprsmeWeb.TestHelpers
describe "create_test_packet/1" do
test "creates a packet with defaults" do
{:ok, packet} = TestHelpers.create_test_packet()
assert packet.sender == "TEST-1"
assert packet.base_callsign == "TEST"
end
test "overrides with attrs" do
{:ok, packet} = TestHelpers.create_test_packet(%{sender: "CUSTOM-9"})
assert packet.sender == "CUSTOM-9"
end
test "creates packet with weather attrs" do
{:ok, packet} =
TestHelpers.create_test_packet(%{
sender: "WXHELPER",
temperature: 72.0,
humidity: 50.0,
wind_speed: 5.0
})
assert packet.temperature == 72.0
assert packet.humidity == 50.0
assert packet.wind_speed == 5.0
end
end
describe "bounds helpers" do
test "texas_bounds returns a map with all four directions" do
bounds = TestHelpers.texas_bounds()
assert %{"north" => _, "south" => _, "east" => _, "west" => _} = bounds
end
test "restrictive_bounds returns a map with all four directions" do
bounds = TestHelpers.restrictive_bounds()
assert %{"north" => _, "south" => _, "east" => _, "west" => _} = bounds
end
end
describe "time helpers" do
test "hours_ago returns a DateTime earlier than now" do
then_dt = TestHelpers.hours_ago(2)
assert DateTime.before?(then_dt, DateTime.utc_now())
end
test "minutes_ago returns a DateTime earlier than now" do
then_dt = TestHelpers.minutes_ago(10)
assert DateTime.before?(then_dt, DateTime.utc_now())
end
test "days_ago returns a DateTime earlier than now" do
then_dt = TestHelpers.days_ago(3)
assert DateTime.before?(then_dt, DateTime.utc_now())
end
end
end