github.com/volatiletech/authboss@v2.4.1+incompatible/response_test.go (about)

     1  package authboss
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  )
     7  
     8  type testMailer struct{ sent bool }
     9  
    10  func (t *testMailer) Send(context.Context, Email) error {
    11  	t.sent = true
    12  	return nil
    13  }
    14  
    15  func TestEmail(t *testing.T) {
    16  	t.Parallel()
    17  
    18  	ab := New()
    19  
    20  	mailer := &testMailer{}
    21  	renderer := &mockEmailRenderer{}
    22  	ab.Config.Core.Mailer = mailer
    23  	ab.Config.Core.MailRenderer = renderer
    24  
    25  	email := Email{
    26  		To:      []string{"support@authboss.com"},
    27  		Subject: "Send help",
    28  	}
    29  
    30  	ro := EmailResponseOptions{
    31  		Data:         nil,
    32  		HTMLTemplate: "html",
    33  		TextTemplate: "text",
    34  	}
    35  
    36  	if err := ab.Email(context.Background(), email, ro); err != nil {
    37  		t.Error(err)
    38  	}
    39  
    40  	if !mailer.sent {
    41  		t.Error("the e-mail should have been sent")
    42  	}
    43  }