// TestEmailNewSignup tests sending an email to a new signup.
func TestEmailNewSignup(t *testing.T) {
	mailer := mailers.NewTestMailer()

	services.EmailNewSignup("*****@*****.**", mailer)

	if mailer.Delivered() != 1 {
		t.Fatal("The mailer should have delivered a single welcome email.")
	}
}
// TestSendEmail ensures sending an email works as expected. It is trivial to
// test the methods other than SendEmail because they are so simple.
func TestSendEmail(t *testing.T) {
	testMailer := mailers.NewTestMailer()

	subject := "Testing is fun."
	body := "Email body."
	firstReceiver := "*****@*****.**"
	secondReceiver := "*****@*****.**"

	err := testMailer.SendEmail(subject, body, firstReceiver, secondReceiver)

	if err != nil {
		t.Fatal("Sending mail should not result in error.")
	}

	if testMailer.Delivered() != 1 {
		t.Fatal("One email should have been delivered.")
	}
}
// stubMailer replaces the Mailgun mailer with a stubbed test mailer.
func stubMailer() {
	handlers.HandlersMailer = mailers.NewTestMailer()
}