You've already forked pocketbase
mirror of
https://github.com/pocketbase/pocketbase.git
synced 2025-11-25 07:34:10 +02:00
synced with master
This commit is contained in:
@@ -38,18 +38,21 @@ type TestApp struct {
|
||||
func (t *TestApp) Cleanup() {
|
||||
t.ResetEventCalls()
|
||||
t.ResetBootstrapState()
|
||||
t.TestMailer.Reset()
|
||||
|
||||
if t.DataDir() != "" {
|
||||
os.RemoveAll(t.DataDir())
|
||||
}
|
||||
}
|
||||
|
||||
// NewMailClient initializes test app mail client.
|
||||
// NewMailClient initializes (if not already) a test app mail client.
|
||||
func (t *TestApp) NewMailClient() mailer.Mailer {
|
||||
t.mux.Lock()
|
||||
defer t.mux.Unlock()
|
||||
|
||||
t.TestMailer.Reset()
|
||||
if t.TestMailer == nil {
|
||||
t.TestMailer = &TestMailer{}
|
||||
}
|
||||
|
||||
return t.TestMailer
|
||||
}
|
||||
|
||||
@@ -10,18 +10,23 @@ var _ mailer.Mailer = (*TestMailer)(nil)
|
||||
type TestMailer struct {
|
||||
TotalSend int
|
||||
LastMessage mailer.Message
|
||||
|
||||
// @todo consider deprecating the above 2 fields?
|
||||
SentMessages []mailer.Message
|
||||
}
|
||||
|
||||
// Reset clears any previously test collected data.
|
||||
func (m *TestMailer) Reset() {
|
||||
m.TotalSend = 0
|
||||
m.LastMessage = mailer.Message{}
|
||||
m.SentMessages = nil
|
||||
}
|
||||
|
||||
// Send implements `mailer.Mailer` interface.
|
||||
func (c *TestMailer) Send(m *mailer.Message) error {
|
||||
c.TotalSend++
|
||||
c.LastMessage = *m
|
||||
c.SentMessages = append(c.SentMessages, c.LastMessage)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user