(() =>
EmailSender.ConnectRabbitMq(cfg => { }, OnReconnect.ThrowException));
}
[Fact]
public void ConnectRabbitMq_WhenAlreadyConnected_WithIgnore_DoesNotThrow()
{
var exception = Record.Exception(() =>
EmailSender.ConnectRabbitMq(cfg => { }, OnReconnect.Ignore));
Assert.Null(exception);
}
[Fact]
public void Send_WithValidEmail_DoesNotThrow()
{
var email = new EmailContext
{
Sender = new EmailAccountDto { Username = "test@example.com", Password = "password", SmtpServer = "smtp.example.com" },
Recipients = ["hakanttek@gmail.com"],
Subject = "EmailSender.Send Integration Test",
Body = "Sent via EmailSender static client.
",
IsHtml = true,
};
var exception = Record.Exception(() => EmailSender.Send(email));
Assert.Null(exception);
}
[Fact]
public void Send_WithPlainTextBody_DoesNotThrow()
{
var email = new EmailContext
{
Sender = new EmailAccountDto { Username = "test@example.com", Password = "password", SmtpServer = "smtp.example.com" },
Recipients = ["hakanttek@gmail.com"],
Subject = "Plain Text Test",
Body = "This is a plain text email.",
IsHtml = false
};
var exception = Record.Exception(() => EmailSender.Send(email));
Assert.Null(exception);
}
}