forked from shibao/cannery
		
	fix emails
This commit is contained in:
		
							
								
								
									
										40
									
								
								test/cannery/email_worker_test.exs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								test/cannery/email_worker_test.exs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
defmodule Cannery.EmailWorkerTest do
 | 
			
		||||
  use Cannery.DataCase, async: true
 | 
			
		||||
 | 
			
		||||
  def perform_job(worker, args) do
 | 
			
		||||
    Oban.Testing.perform_job(worker, args, [])
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  test "sending welcome email" do
 | 
			
		||||
    user = user_fixture()
 | 
			
		||||
 | 
			
		||||
    {:ok, _user} =
 | 
			
		||||
      perform_job(Cannery.EmailWorker, %{
 | 
			
		||||
        "email" => "welcome",
 | 
			
		||||
        "user_id" => user.id,
 | 
			
		||||
        "attrs" => %{"url" => "test_url"}
 | 
			
		||||
      })
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  test "sending reset password email" do
 | 
			
		||||
    user = user_fixture()
 | 
			
		||||
 | 
			
		||||
    {:ok, _user} =
 | 
			
		||||
      perform_job(Cannery.EmailWorker, %{
 | 
			
		||||
        "email" => "reset_password",
 | 
			
		||||
        "user_id" => user.id,
 | 
			
		||||
        "attrs" => %{"url" => "test_url"}
 | 
			
		||||
      })
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  test "sending update email email" do
 | 
			
		||||
    user = user_fixture()
 | 
			
		||||
 | 
			
		||||
    {:ok, _user} =
 | 
			
		||||
      perform_job(Cannery.EmailWorker, %{
 | 
			
		||||
        "email" => "update_email",
 | 
			
		||||
        "user_id" => user.id,
 | 
			
		||||
        "attrs" => %{"url" => "test_url"}
 | 
			
		||||
      })
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
@@ -48,6 +48,10 @@ defmodule Cannery.Fixtures do
 | 
			
		||||
  def extract_user_token(fun) do
 | 
			
		||||
    %{args: %{attrs: attrs, email: email_key, user_id: user_id}} = fun.(&"[TOKEN]#{&1}[TOKEN]")
 | 
			
		||||
 | 
			
		||||
    attrs =
 | 
			
		||||
      attrs
 | 
			
		||||
      |> Map.new(fn {key, value} -> {Atom.to_string(key), value} end)
 | 
			
		||||
 | 
			
		||||
    email =
 | 
			
		||||
      email_key
 | 
			
		||||
      |> Atom.to_string()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user