homebox/backend/pkgs/mailer/mailer_test.go
Hayden bd321af29f
chore: developer cleanup (#300)
* new PR tasks

* add homebox to know words

* formatting

* bump deps

* generate db models

* ts errors

* drop id

* fix accessor

* drop unused time field

* change CI

* add expected error

* add type check

* resolve serveral type errors

* hoise in CI
2023-02-17 21:41:01 -09:00

63 lines
942 B
Go

package mailer
import (
"encoding/json"
"os"
"testing"
"github.com/stretchr/testify/assert"
)
const (
TestMailerConfig = "test-mailer.json"
)
func GetTestMailer() (*Mailer, error) {
// Read JSON File
bytes, err := os.ReadFile(TestMailerConfig)
mailer := &Mailer{}
if err != nil {
return nil, err
}
// Unmarshal JSON
err = json.Unmarshal(bytes, mailer)
if err != nil {
return nil, err
}
return mailer, nil
}
func Test_Mailer(t *testing.T) {
t.Parallel()
mailer, err := GetTestMailer()
if err != nil {
t.Skip("Error Reading Test Mailer Config - Skipping")
}
if !mailer.Ready() {
t.Skip("Mailer not ready - Skipping")
}
message, err := RenderWelcome()
if err != nil {
t.Error(err)
}
mb := NewMessageBuilder().
SetBody(message).
SetSubject("Hello").
SetTo("John Doe", "john@doe.com").
SetFrom("Jane Doe", "jane@doe.com")
msg := mb.Build()
err = mailer.Send(msg)
assert.Nil(t, err)
}