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 }