55 lines
1.4 KiB
Elixir
55 lines
1.4 KiB
Elixir
# Pleroma: A lightweight social networking server
|
|
# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
defmodule Pleroma.Emails.MailerTest do
|
|
use Pleroma.DataCase
|
|
alias Pleroma.Emails.Mailer
|
|
|
|
import Swoosh.TestAssertions
|
|
|
|
@email %Swoosh.Email{
|
|
from: {"Pleroma", "noreply@example.com"},
|
|
html_body: "Test email",
|
|
subject: "Pleroma test email",
|
|
to: [{"Test User", "user1@example.com"}]
|
|
}
|
|
setup do: clear_config([Pleroma.Emails.Mailer, :enabled], true)
|
|
|
|
test "not send email when mailer is disabled" do
|
|
clear_config([Pleroma.Emails.Mailer, :enabled], false)
|
|
Mailer.deliver(@email)
|
|
:timer.sleep(100)
|
|
|
|
refute_email_sent(
|
|
from: {"Pleroma", "noreply@example.com"},
|
|
to: [{"Test User", "user1@example.com"}],
|
|
html_body: "Test email",
|
|
subject: "Pleroma test email"
|
|
)
|
|
end
|
|
|
|
test "send email" do
|
|
Mailer.deliver(@email)
|
|
:timer.sleep(100)
|
|
|
|
assert_email_sent(
|
|
from: {"Pleroma", "noreply@example.com"},
|
|
to: [{"Test User", "user1@example.com"}],
|
|
html_body: "Test email",
|
|
subject: "Pleroma test email"
|
|
)
|
|
end
|
|
|
|
test "perform" do
|
|
Mailer.perform(:deliver_async, @email, [])
|
|
:timer.sleep(100)
|
|
|
|
assert_email_sent(
|
|
from: {"Pleroma", "noreply@example.com"},
|
|
to: [{"Test User", "user1@example.com"}],
|
|
html_body: "Test email",
|
|
subject: "Pleroma test email"
|
|
)
|
|
end
|
|
end
|