Vendor Leaflet 1.9.4 (JS, CSS, marker images) and wire it into the esbuild/Tailwind asset pipeline. Create MapLive with band selector buttons, auto-refresh, and a colocated JS hook that renders propagation scores as color-coded circle markers with a legend. Stub Propagation context and BandConfig modules provide the data interface for the scoring pipeline. Add nav bar with links to Map, QSOs, and Submit pages.
28 lines
742 B
Elixir
28 lines
742 B
Elixir
defmodule Microwaveprop.Propagation.BandConfigTest do
|
|
use ExUnit.Case, async: true
|
|
|
|
alias Microwaveprop.Propagation.BandConfig
|
|
|
|
describe "all_bands/0" do
|
|
test "returns 8 bands" do
|
|
assert length(BandConfig.all_bands()) == 8
|
|
end
|
|
|
|
test "each band has freq_mhz and label keys" do
|
|
for band <- BandConfig.all_bands() do
|
|
assert is_integer(band.freq_mhz)
|
|
assert is_binary(band.label)
|
|
end
|
|
end
|
|
|
|
test "includes 10 GHz band" do
|
|
bands = BandConfig.all_bands()
|
|
assert Enum.any?(bands, &(&1.freq_mhz == 10_000))
|
|
end
|
|
|
|
test "bands are ordered by frequency" do
|
|
freqs = Enum.map(BandConfig.all_bands(), & &1.freq_mhz)
|
|
assert freqs == Enum.sort(freqs)
|
|
end
|
|
end
|
|
end
|