towerops/test/towerops_web/live/maintenance_live/helpers_test.exs
Graham McIntire 532d88ffb9
perf: disable Req retry for faster error tests
- Add retry: false to VISP Client HTTP requests
- Add retry: false to ReleaseChecker GitHub API requests
- Remove unused Plug.Conn import from RemoteIpLogger
- Remove unused default parameter from req_get/2

Results:
- VISP sync test: 7007ms → 113ms (62x faster)
- ReleaseChecker test: 7004ms → 17ms (402x faster)
- UserResetPasswordLive test: 1495ms → 284ms (5x faster)

Req's default retry behavior (1s, 2s, 4s exponential backoff) was
causing 7-second delays for HTTP 500/503 error responses in tests.
For these clients, immediate failure is preferred over retries.
2026-03-10 16:19:31 -05:00

30 lines
999 B
Elixir

defmodule ToweropsWeb.MaintenanceLive.HelpersTest do
use ExUnit.Case, async: true
alias ToweropsWeb.MaintenanceLive.Helpers
describe "status_for/1" do
test "returns active for current windows" do
now = DateTime.utc_now()
window = %{starts_at: DateTime.add(now, -60, :second), ends_at: DateTime.add(now, 60, :second)}
assert Helpers.status_for(window) == :active
end
end
describe "scope_label/1" do
test "formats device, site, and org-wide labels" do
assert Helpers.scope_label(%{device: %{name: "Core"}, site: nil}) == "Device: Core"
assert Helpers.scope_label(%{device: nil, site: %{name: "HQ"}}) == "Site: HQ"
assert Helpers.scope_label(%{device: nil, site: nil}) == "Org-wide"
end
end
describe "format_datetime/2" do
test "formats the datetime with the provided timezone" do
datetime = ~U[2026-01-15 14:34:00Z]
assert Helpers.format_datetime(datetime, "Etc/UTC") == "Jan 15, 2026 02:34 PM"
end
end
end