From 11a8214b94d7a7061f9408bbabeebe2a682593bf Mon Sep 17 00:00:00 2001 From: shibao Date: Sat, 4 Feb 2023 21:52:23 -0500 Subject: [PATCH] fix tests --- config/runtime.exs | 6 ++++-- config/test.exs | 3 +++ lib/memex/accounts.ex | 2 ++ lib/memex/accounts/invites.ex | 4 +++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/config/runtime.exs b/config/runtime.exs index 78f569b..9e82292 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -42,8 +42,6 @@ config :memex, Memex.Repo, pool_size: String.to_integer(System.get_env("POOL_SIZE", "10")), socket_options: maybe_ipv6 -config :memex, Memex.Accounts, registration: System.get_env("REGISTRATION", "invite") - config :memex, MemexWeb.Endpoint, url: [scheme: "https", host: host, port: 443], http: [ @@ -54,6 +52,10 @@ config :memex, MemexWeb.Endpoint, ], server: true +if config_env() in [:dev, :prod] do + config :memex, Memex.Accounts, registration: System.get_env("REGISTRATION", "invite") +end + if config_env() == :prod do # The secret key base is used to sign/encrypt cookies and other secrets. # A default value is used in config/dev.exs and config/test.exs but you diff --git a/config/test.exs b/config/test.exs index d9fad5d..086a97c 100644 --- a/config/test.exs +++ b/config/test.exs @@ -22,6 +22,9 @@ config :memex, MemexWeb.Endpoint, # In test we don't send emails. config :memex, Memex.Mailer, adapter: Swoosh.Adapters.Test +# Don't require invites for signups +config :memex, Memex.Accounts, registration: "public" + # Print only warnings and errors during test config :logger, level: :warn diff --git a/lib/memex/accounts.ex b/lib/memex/accounts.ex index c139a29..909bdd3 100644 --- a/lib/memex/accounts.ex +++ b/lib/memex/accounts.ex @@ -117,6 +117,8 @@ defmodule Memex.Accounts do :passed """ + @spec register_user(attrs :: map()) :: + {:ok, User.t()} | {:error, :invalid_token | User.changeset()} @spec register_user(attrs :: map(), Invite.token() | nil) :: {:ok, User.t()} | {:error, :invalid_token | User.changeset()} def register_user(attrs, invite_token \\ nil) do diff --git a/lib/memex/accounts/invites.ex b/lib/memex/accounts/invites.ex index caa03ab..2bc74cf 100644 --- a/lib/memex/accounts/invites.ex +++ b/lib/memex/accounts/invites.ex @@ -85,7 +85,9 @@ defmodule Memex.Accounts.Invites do end end - @spec get_invite_by_token(Invite.token()) :: {:ok, Invite.t()} | {:error, :invalid_token} + @spec get_invite_by_token(Invite.token() | nil) :: {:ok, Invite.t()} | {:error, :invalid_token} + defp get_invite_by_token(token) when token in [nil, ""], do: {:error, :invalid_token} + defp get_invite_by_token(token) do Repo.one( from i in Invite,