2019-07-10 07:34:21 +02:00
|
|
|
# Pleroma: A lightweight social networking server
|
2020-03-03 23:44:49 +01:00
|
|
|
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
|
2019-07-10 07:34:21 +02:00
|
|
|
# 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"}]
|
|
|
|
}
|
2020-03-20 16:33:00 +01:00
|
|
|
setup do: clear_config([Pleroma.Emails.Mailer, :enabled])
|
2019-07-10 07:34:21 +02:00
|
|
|
|
|
|
|
test "not send email when mailer is disabled" do
|
|
|
|
Pleroma.Config.put([Pleroma.Emails.Mailer, :enabled], false)
|
|
|
|
Mailer.deliver(@email)
|
2020-08-05 17:26:03 +02:00
|
|
|
:timer.sleep(100)
|
2019-07-10 07:34:21 +02:00
|
|
|
|
|
|
|
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)
|
2020-08-05 17:26:03 +02:00
|
|
|
:timer.sleep(100)
|
2019-07-10 07:34:21 +02:00
|
|
|
|
|
|
|
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, [])
|
2020-08-05 17:26:03 +02:00
|
|
|
:timer.sleep(100)
|
2019-07-10 07:34:21 +02:00
|
|
|
|
|
|
|
assert_email_sent(
|
|
|
|
from: {"Pleroma", "noreply@example.com"},
|
|
|
|
to: [{"Test User", "user1@example.com"}],
|
|
|
|
html_body: "Test email",
|
|
|
|
subject: "Pleroma test email"
|
|
|
|
)
|
|
|
|
end
|
|
|
|
end
|