EmailTest: use config mock
This commit is contained in:
parent
b13820dcd0
commit
dca41cc4a3
|
@ -152,6 +152,8 @@
|
|||
config :pleroma, Pleroma.Upload, config_impl: Pleroma.UnstubbedConfigMock
|
||||
config :pleroma, Pleroma.ScheduledActivity, config_impl: Pleroma.UnstubbedConfigMock
|
||||
config :pleroma, Pleroma.Web.RichMedia.Helpers, config_impl: Pleroma.StaticStubbedConfigMock
|
||||
config :pleroma, Pleroma.Emails.Mailer, config_impl: Pleroma.UnstubbedConfigMock
|
||||
config :pleroma, Pleroma.User, config_impl: Pleroma.UnstubbedConfigMock
|
||||
|
||||
if File.exists?("./config/test.secret.exs") do
|
||||
import_config "test.secret.exs"
|
||||
|
|
|
@ -14,9 +14,10 @@ defmodule Pleroma.Emails.Mailer do
|
|||
|
||||
@otp_app :pleroma
|
||||
@mailer_config [otp: :pleroma]
|
||||
@config_impl Application.compile_env(:pleroma, [__MODULE__, :config_impl], Pleroma.Config)
|
||||
|
||||
@spec enabled?() :: boolean()
|
||||
def enabled?, do: Pleroma.Config.get([__MODULE__, :enabled])
|
||||
def enabled?, do: @config_impl.get([__MODULE__, :enabled])
|
||||
|
||||
@doc "add email to queue"
|
||||
def deliver_async(email, config \\ []) do
|
||||
|
|
|
@ -86,6 +86,7 @@ defmodule Pleroma.User do
|
|||
]
|
||||
|
||||
@cachex Pleroma.Config.get([:cachex, :provider], Cachex)
|
||||
@config_impl Application.compile_env(:pleroma, [__MODULE__, :config_impl], Pleroma.Config)
|
||||
|
||||
schema "users" do
|
||||
field(:bio, :string, default: "")
|
||||
|
@ -1000,7 +1001,7 @@ defp maybe_send_welcome_email(_), do: {:ok, :noop}
|
|||
@spec maybe_send_confirmation_email(User.t()) :: {:ok, :enqueued | :noop}
|
||||
def maybe_send_confirmation_email(%User{is_confirmed: false, email: email} = user)
|
||||
when is_binary(email) do
|
||||
if Config.get([:instance, :account_activation_required]) do
|
||||
if @config_impl.get([:instance, :account_activation_required]) do
|
||||
send_confirmation_email(user)
|
||||
{:ok, :enqueued}
|
||||
else
|
||||
|
|
|
@ -3,13 +3,15 @@
|
|||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
defmodule Mix.Tasks.Pleroma.EmailTest do
|
||||
use Pleroma.DataCase
|
||||
use Pleroma.DataCase, async: true
|
||||
|
||||
import Swoosh.TestAssertions
|
||||
|
||||
alias Pleroma.Config
|
||||
alias Pleroma.Test.StaticConfig, as: Config
|
||||
alias Pleroma.Tests.ObanHelpers
|
||||
alias Pleroma.UnstubbedConfigMock, as: ConfigMock
|
||||
|
||||
import Mox
|
||||
import Pleroma.Factory
|
||||
|
||||
setup_all do
|
||||
|
@ -22,8 +24,15 @@ defmodule Mix.Tasks.Pleroma.EmailTest do
|
|||
:ok
|
||||
end
|
||||
|
||||
setup do: clear_config([Pleroma.Emails.Mailer, :enabled], true)
|
||||
setup do: clear_config([:instance, :account_activation_required], true)
|
||||
setup do
|
||||
ConfigMock
|
||||
|> stub(:get, fn
|
||||
[Pleroma.Emails.Mailer, :enabled] -> true
|
||||
[:instance, :account_activation_required] -> true
|
||||
end)
|
||||
|
||||
:ok
|
||||
end
|
||||
|
||||
describe "pleroma.email test" do
|
||||
test "Sends test email with no given address" do
|
||||
|
|
Loading…
Reference in New Issue