towerops/test/towerops_web/plugs/capture_timezone_test.exs
Graham McIntire d9876d8217
Remove misleading duplicate header test from CaptureTimezone
The test incorrectly suggested the plug handles duplicate headers,
but put_req_header replaces values. Cloudflare only sends one
cf-timezone header, making this test unnecessary.
2026-02-01 11:08:12 -06:00

36 lines
1,019 B
Elixir

defmodule ToweropsWeb.Plugs.CaptureTimezoneTest do
use ToweropsWeb.ConnCase, async: true
alias ToweropsWeb.Plugs.CaptureTimezone
describe "call/2" do
test "captures cf-timezone header and stores in session", %{conn: conn} do
conn =
conn
|> init_test_session(%{})
|> put_req_header("cf-timezone", "America/Chicago")
|> CaptureTimezone.call([])
assert get_session(conn, :detected_timezone) == "America/Chicago"
end
test "defaults to UTC when cf-timezone header is missing", %{conn: conn} do
conn =
conn
|> init_test_session(%{})
|> CaptureTimezone.call([])
assert get_session(conn, :detected_timezone) == "UTC"
end
test "defaults to UTC when cf-timezone header is empty", %{conn: conn} do
conn =
conn
|> init_test_session(%{})
|> put_req_header("cf-timezone", "")
|> CaptureTimezone.call([])
assert get_session(conn, :detected_timezone) == "UTC"
end
end
end