aprs.me/test/aprsme_web/gettext_test.exs
Graham McIntire 20d463794b
test: cover AprsmeWeb.Gettext helpers
- supported_locales/0 returns the declared ~w(en es de fr) list.
- put_locale/1 sets the Gettext process locale for each supported
  value and raises FunctionClauseError for unsupported input.

3 tests, async:false because they mutate process-wide Gettext state.
2026-04-23 14:54:16 -05:00

33 lines
847 B
Elixir

defmodule AprsmeWeb.GettextTest do
use ExUnit.Case, async: false
alias AprsmeWeb.Gettext
setup do
original = Elixir.Gettext.get_locale(Gettext)
on_exit(fn -> Elixir.Gettext.put_locale(Gettext, original) end)
:ok
end
describe "supported_locales/0" do
test "returns the declared list" do
assert Gettext.supported_locales() == ~w(en es de fr)
end
end
describe "put_locale/1" do
test "sets the process-wide Gettext locale for supported values" do
Gettext.put_locale("es")
assert Elixir.Gettext.get_locale(Gettext) == "es"
Gettext.put_locale("fr")
assert Elixir.Gettext.get_locale(Gettext) == "fr"
end
test "raises FunctionClauseError for unsupported locales" do
assert_raise FunctionClauseError, fn ->
Gettext.put_locale("zz")
end
end
end
end