refactor: centralize SIGNUP_ALLOWLIST_EMAILS constant definition
Define environment variable name as a module attribute in BasicSignupAllowlist and expose it via signup_allowlist_emails/0 function to eliminate duplication across lib and test files. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
c6e3a490d2
commit
a89ed0c80c
@ -1,10 +1,17 @@
|
|||||||
defmodule BasicSignupAllowlist do
|
defmodule BasicSignupAllowlist do
|
||||||
import FunCore.BasicSignupAllowlist
|
import FunCore.BasicSignupAllowlist
|
||||||
|
|
||||||
|
@signup_allowlist_emails "SIGNUP_ALLOWLIST_EMAILS"
|
||||||
|
|
||||||
@moduledoc """
|
@moduledoc """
|
||||||
Checks if an email address is allowed based on the SIGNUP_ALLOWLIST_EMAILS env variable.
|
Checks if an email address is allowed based on the SIGNUP_ALLOWLIST_EMAILS env variable.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@doc """
|
||||||
|
Returns the name of the environment variable used for the signup allowlist.
|
||||||
|
"""
|
||||||
|
def signup_allowlist_emails, do: @signup_allowlist_emails
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Checks if an email address is allowed based on the SIGNUP_ALLOWLIST_EMAILS env variable.
|
Checks if an email address is allowed based on the SIGNUP_ALLOWLIST_EMAILS env variable.
|
||||||
|
|
||||||
@ -27,7 +34,7 @@ defmodule BasicSignupAllowlist do
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
def mail_allowlisted(email) do
|
def mail_allowlisted(email) do
|
||||||
env_value = System.get_env("SIGNUP_ALLOWLIST_EMAILS")
|
env_value = System.get_env(@signup_allowlist_emails)
|
||||||
mail_allowlisted_fun(env_value, email)
|
mail_allowlisted_fun(env_value, email)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -3,21 +3,21 @@ defmodule BasicSignupAllowlistTest do
|
|||||||
doctest BasicSignupAllowlist
|
doctest BasicSignupAllowlist
|
||||||
|
|
||||||
defp allow_signups_for(allowlist) do
|
defp allow_signups_for(allowlist) do
|
||||||
System.put_env("SIGNUP_ALLOWLIST_EMAILS", allowlist)
|
System.put_env(BasicSignupAllowlist.signup_allowlist_emails(), allowlist)
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "setup in describe block" do
|
describe "setup in describe block" do
|
||||||
setup do
|
setup do
|
||||||
on_exit(fn ->
|
on_exit(fn ->
|
||||||
# resetting values did not work, so 'just' set it to the effect without this module configured.
|
# resetting values did not work, so 'just' set it to the effect without this module configured.
|
||||||
System.put_env("SIGNUP_ALLOWLIST_EMAILS", "*")
|
System.put_env(BasicSignupAllowlist.signup_allowlist_emails(), "*")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
:ok
|
:ok
|
||||||
end
|
end
|
||||||
|
|
||||||
test "When not set, not allowlisted" do
|
test "When not set, not allowlisted" do
|
||||||
System.delete_env("SIGNUP_ALLOWLIST_EMAILS")
|
System.delete_env(BasicSignupAllowlist.signup_allowlist_emails())
|
||||||
refute BasicSignupAllowlist.mail_allowlisted("joe@example.com")
|
refute BasicSignupAllowlist.mail_allowlisted("joe@example.com")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user