pocketbase/tests/mailer.go

33 lines
694 B
Go
Raw Normal View History

2022-07-07 05:19:05 +08:00
package tests
import (
"github.com/pocketbase/pocketbase/tools/mailer"
)
var _ mailer.Mailer = (*TestMailer)(nil)
// TestMailer is a mock `mailer.Mailer` implementation.
type TestMailer struct {
TotalSend int
LastMessage mailer.Message
2023-12-30 05:31:54 +08:00
// @todo consider deprecating the above 2 fields?
SentMessages []mailer.Message
2022-07-07 05:19:05 +08:00
}
// Reset clears any previously test collected data.
func (m *TestMailer) Reset() {
m.TotalSend = 0
m.LastMessage = mailer.Message{}
2023-12-30 05:31:54 +08:00
m.SentMessages = nil
2022-07-07 05:19:05 +08:00
}
// Send implements `mailer.Mailer` interface.
func (c *TestMailer) Send(m *mailer.Message) error {
c.TotalSend++
c.LastMessage = *m
2023-12-30 05:31:54 +08:00
c.SentMessages = append(c.SentMessages, c.LastMessage)
2022-07-07 05:19:05 +08:00
return nil
}