52 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Elixir
		
	
	
	
	
	
| defmodule Mix.Tasks.Pleroma.EmailTest do
 | |
|   use Pleroma.DataCase
 | |
| 
 | |
|   import Swoosh.TestAssertions
 | |
| 
 | |
|   alias Pleroma.Config
 | |
|   alias Pleroma.Tests.ObanHelpers
 | |
| 
 | |
|   setup_all do
 | |
|     Mix.shell(Mix.Shell.Process)
 | |
| 
 | |
|     on_exit(fn ->
 | |
|       Mix.shell(Mix.Shell.IO)
 | |
|     end)
 | |
| 
 | |
|     :ok
 | |
|   end
 | |
| 
 | |
|   describe "pleroma.email test" do
 | |
|     test "Sends test email with no given address" do
 | |
|       mail_to = Config.get([:instance, :email])
 | |
| 
 | |
|       :ok = Mix.Tasks.Pleroma.Email.run(["test"])
 | |
| 
 | |
|       ObanHelpers.perform_all()
 | |
| 
 | |
|       assert_receive {:mix_shell, :info, [message]}
 | |
|       assert message =~ "Test email has been sent"
 | |
| 
 | |
|       assert_email_sent(
 | |
|         to: mail_to,
 | |
|         html_body: ~r/a test email was requested./i
 | |
|       )
 | |
|     end
 | |
| 
 | |
|     test "Sends test email with given address" do
 | |
|       mail_to = "hewwo@example.com"
 | |
| 
 | |
|       :ok = Mix.Tasks.Pleroma.Email.run(["test", "--to", mail_to])
 | |
| 
 | |
|       ObanHelpers.perform_all()
 | |
| 
 | |
|       assert_receive {:mix_shell, :info, [message]}
 | |
|       assert message =~ "Test email has been sent"
 | |
| 
 | |
|       assert_email_sent(
 | |
|         to: mail_to,
 | |
|         html_body: ~r/a test email was requested./i
 | |
|       )
 | |
|     end
 | |
|   end
 | |
| end
 | 
