package email import ( "testing" "go.uber.org/zap" ) func TestLoadSMTPConfigFromEnv(t *testing.T) { // Test avec valeurs par défaut (dev mode - MailHog) config := LoadSMTPConfigFromEnv() // En dev sans config, devrait avoir des valeurs par défaut if config.Host == "" { t.Log("SMTP_HOST not set, using default (localhost)") } if config.Port == "" { t.Log("SMTP_PORT not set, using default (1025)") } } func TestSMTPEmailSender_Send(t *testing.T) { logger, _ := zap.NewDevelopment() defer logger.Sync() // Config pour test (sans SMTP réel, juste vérifier que ça ne panique pas) config := SMTPConfig{ Host: "localhost", Port: "1025", Username: "test", Password: "test", From: "test@example.com", FromName: "Test", } sender := NewSMTPEmailSender(config, logger) // Test avec config vide (dev mode - devrait juste logger) emptyConfig := SMTPConfig{} emptySender := NewSMTPEmailSender(emptyConfig, logger) err := emptySender.Send("test@example.com", "Test Subject", "Test Body") if err != nil { t.Logf("Expected no error in dev mode (no SMTP config): %v", err) } // Test avec config mais sans serveur SMTP réel (devrait échouer mais pas paniquer) err = sender.Send("test@example.com", "Test Subject", "Test Body") if err != nil { t.Logf("Expected error when SMTP server not available: %v", err) } }