58 lines
1.5 KiB
Elixir
58 lines
1.5 KiB
Elixir
|
# Pleroma: A lightweight social networking server
|
||
|
# Copyright © 2017-2018 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
|
||
|
value = Pleroma.Config.get([Pleroma.Emails.Mailer, :enabled])
|
||
|
on_exit(fn -> Pleroma.Config.put([Pleroma.Emails.Mailer, :enabled], value) end)
|
||
|
:ok
|
||
|
end
|
||
|
|
||
|
test "not send email when mailer is disabled" do
|
||
|
Pleroma.Config.put([Pleroma.Emails.Mailer, :enabled], false)
|
||
|
Mailer.deliver(@email)
|
||
|
|
||
|
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)
|
||
|
|
||
|
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, [])
|
||
|
|
||
|
assert_email_sent(
|
||
|
from: {"Pleroma", "noreply@example.com"},
|
||
|
to: [{"Test User", "user1@example.com"}],
|
||
|
html_body: "Test email",
|
||
|
subject: "Pleroma test email"
|
||
|
)
|
||
|
end
|
||
|
end
|