basic_signup_allowlist/test/basic_signup_whitelist_test.exs

34 lines
850 B
Elixir

defmodule BasicSignupWhitelistTest do
use ExUnit.Case
doctest BasicSignupWhitelist
defp allow_signups_for(whitelist) do
System.put_env("SIGNUP_ALLOWED_EMAILS", whitelist)
end
setup do
# Save original env var
original_env = System.get_env("SIGNUP_ALLOWED_EMAILS")
on_exit(fn ->
# Restore original env var after each test
case original_env do
nil -> System.delete_env("SIGNUP_ALLOWED_EMAILS")
value -> System.put_env("SIGNUP_ALLOWED_EMAILS", value)
end
end)
:ok
end
test "When not set, not whitelisted" do
System.delete_env("SIGNUP_ALLOWED_EMAILS")
refute BasicSignupWhitelist.mail_whitelisted("joe@example.com")
end
test "When set to star, whitelisted" do
allow_signups_for("*")
assert BasicSignupWhitelist.mail_whitelisted("joe@example.com")
end
end