github.com/mmrath/gobase@v0.0.1/client/test/utils.go (about)

     1  package test
     2  
     3  import (
     4  	"github.com/mmrath/gobase/common/email"
     5  )
     6  
     7  type MockMailer struct {
     8  	messages []*email.Message
     9  }
    10  
    11  func NewMockMailer() (*MockMailer, error) {
    12  	err := email.LoadTemplates("../resources/templates/email")
    13  	if err != nil {
    14  		return nil, err
    15  	}
    16  	return &MockMailer{messages: make([]*email.Message, 0, 10)}, nil
    17  }
    18  
    19  func (m *MockMailer) Send(msg *email.Message) error {
    20  	m.messages = append(m.messages, msg)
    21  	return nil
    22  }
    23  
    24  func (m *MockMailer) PopLastMessage() *email.Message {
    25  	var msg *email.Message
    26  	msg, m.messages = m.messages[len(m.messages)-1], m.messages[:len(m.messages)-1]
    27  	return msg
    28  }