[#3031] Adjusted changelog entry.
[akkoma] / test / tasks / email_test.exs
1 defmodule Mix.Tasks.Pleroma.EmailTest do
2 use Pleroma.DataCase
3
4 import Swoosh.TestAssertions
5
6 alias Pleroma.Config
7 alias Pleroma.Tests.ObanHelpers
8
9 setup_all do
10 Mix.shell(Mix.Shell.Process)
11
12 on_exit(fn ->
13 Mix.shell(Mix.Shell.IO)
14 end)
15
16 :ok
17 end
18
19 setup do: clear_config([Pleroma.Emails.Mailer, :enabled], true)
20
21 describe "pleroma.email test" do
22 test "Sends test email with no given address" do
23 mail_to = Config.get([:instance, :email])
24
25 :ok = Mix.Tasks.Pleroma.Email.run(["test"])
26
27 ObanHelpers.perform_all()
28
29 assert_receive {:mix_shell, :info, [message]}
30 assert message =~ "Test email has been sent"
31
32 assert_email_sent(
33 to: mail_to,
34 html_body: ~r/a test email was requested./i
35 )
36 end
37
38 test "Sends test email with given address" do
39 mail_to = "hewwo@example.com"
40
41 :ok = Mix.Tasks.Pleroma.Email.run(["test", "--to", mail_to])
42
43 ObanHelpers.perform_all()
44
45 assert_receive {:mix_shell, :info, [message]}
46 assert message =~ "Test email has been sent"
47
48 assert_email_sent(
49 to: mail_to,
50 html_body: ~r/a test email was requested./i
51 )
52 end
53 end
54 end