test: Coverage schema statuses/0 + eirp_dbm + location helpers
This commit is contained in:
parent
1d5a5a8a73
commit
8b71e21c04
1 changed files with 38 additions and 0 deletions
|
|
@ -220,6 +220,44 @@ defmodule Towerops.Coverages.CoverageTest do
|
|||
end
|
||||
end
|
||||
|
||||
describe "statuses/0" do
|
||||
test "returns the canonical list of valid status values" do
|
||||
list = Coverage.statuses()
|
||||
assert is_list(list)
|
||||
assert "draft" in list
|
||||
assert "computing" in list
|
||||
end
|
||||
end
|
||||
|
||||
describe "eirp_dbm/2" do
|
||||
test "returns tx_power + antenna_gain - cable_loss" do
|
||||
coverage = %Coverage{tx_power_dbm: 23.0, cable_loss_db: 0.5}
|
||||
assert Coverage.eirp_dbm(coverage, 16.0) == 23.0 + 16.0 - 0.5
|
||||
end
|
||||
|
||||
test "treats nil tx_power and cable_loss as zero" do
|
||||
coverage = %Coverage{tx_power_dbm: nil, cable_loss_db: nil}
|
||||
assert Coverage.eirp_dbm(coverage, 10.5) == 10.5
|
||||
end
|
||||
end
|
||||
|
||||
describe "location/1" do
|
||||
test "returns the per-coverage override when set" do
|
||||
coverage = %Coverage{latitude_override: 30.27, longitude_override: -97.74}
|
||||
assert Coverage.location(coverage) == {30.27, -97.74}
|
||||
end
|
||||
|
||||
test "falls back to site coordinates when override is unset" do
|
||||
coverage = %Coverage{site: %{latitude: 32.0, longitude: -96.5}}
|
||||
assert Coverage.location(coverage) == {32.0, -96.5}
|
||||
end
|
||||
|
||||
test "returns nil when neither override nor site coordinates are present" do
|
||||
assert Coverage.location(%Coverage{}) == nil
|
||||
assert Coverage.location(%Coverage{site: %{latitude: nil, longitude: nil}}) == nil
|
||||
end
|
||||
end
|
||||
|
||||
defp changeset_error?(changeset, field) do
|
||||
Keyword.has_key?(changeset.errors, field)
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue