diff --git a/lib/basic_signup_whitelist.ex b/lib/basic_signup_whitelist.ex index 6804ae9..45c05e5 100644 --- a/lib/basic_signup_whitelist.ex +++ b/lib/basic_signup_whitelist.ex @@ -1,4 +1,6 @@ defmodule BasicSignupWhitelist do + import FunCore.BasicSignupWhitelist + @moduledoc """ Checks if an email address is allowed based on the SIGNUP_ALLOWED_EMAILS env variable. """ @@ -20,7 +22,8 @@ defmodule BasicSignupWhitelist do false """ - def mail_whitelisted(_email) do - false + def mail_whitelisted(email) do + env_value = System.get_env("SIGNUP_ALLOWED_EMAILS") + mail_whitelisted_fun(env_value, email) end end diff --git a/test/basic_signup_whitelist_test.exs b/test/basic_signup_whitelist_test.exs index 6c452d0..5397167 100644 --- a/test/basic_signup_whitelist_test.exs +++ b/test/basic_signup_whitelist_test.exs @@ -6,7 +6,23 @@ defmodule BasicSignupWhitelistTest 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