public void Test_WithFrom2_ShouldAdNewVariable() { var instance = new MailerSendEmailParameters(); instance.WithTo("*****@*****.**"); instance.WithTo("*****@*****.**"); instance.WithVariable("*****@*****.**", new MailerSendEmailVariableSubstitution[] { new MailerSendEmailVariableSubstitution { Var = "v1", Value = "1", }, }); instance.WithVariable("*****@*****.**", new MailerSendEmailVariableSubstitution[] { new MailerSendEmailVariableSubstitution { Var = "v2", Value = "2", }, }); instance.Variables.Should().NotBeEmpty(); instance.Variables.Should().HaveCount(2); }
public void Test_WithTo2_ShouldAddNewRecipient() { var instance = new MailerSendEmailParameters(); instance.WithTo(new MailerSendEmailRecipient("*****@*****.**", "Test")); instance.WithTo("*****@*****.**"); instance.To.Should().NotBeEmpty(); instance.To.Should().HaveCount(2); var item = instance.To.Last(); item.Email.Should().Be("*****@*****.**"); item.Name.Should().Be(""); }
public void Test_WithFrom1_ShouldReplaceVariableCollection() { var instance = new MailerSendEmailParameters(); instance.WithTo("*****@*****.**"); instance.WithVariable( new MailerSendEmailVariable("*****@*****.**", new MailerSendEmailVariableSubstitution[] { new MailerSendEmailVariableSubstitution { Var = "v1", Value = "1", }, })); instance.WithVariable( new MailerSendEmailVariable("*****@*****.**", new MailerSendEmailVariableSubstitution[] { new MailerSendEmailVariableSubstitution { Var = "v2", Value = "2", }, })); instance.Variables.Should().NotBeEmpty(); instance.Variables.Should().HaveCount(1); }
public void Test_WithPersonalization2_ShouldReplacePersonalizationCollection() { var instance = new MailerSendEmailParameters(); instance.WithTo("*****@*****.**"); instance.WithTo("*****@*****.**"); instance.WithPersonalization(new MailerSendEmailPersonalization("*****@*****.**", new { p1 = "1" })); instance.WithPersonalization("*****@*****.**", new { p1 = "2" }); instance.Personalizations.Should().NotBeEmpty(); instance.Personalizations.Should().HaveCount(2); var item = instance.Personalizations.Last(); item.Email.Should().Be("*****@*****.**"); item.Data.Should().NotBeNull(); item.Data.Should().Be(new { p1 = "2" }); }
public void Test_WithTo1_ShouldRecplaceToCollection() { var instance = new MailerSendEmailParameters(); instance.WithTo(new MailerSendEmailRecipient("*****@*****.**", "Test")); instance.To.Should().NotBeEmpty(); instance.To.Should().HaveCount(1); var item = instance.To.First(); item.Email.Should().Be("*****@*****.**"); item.Name.Should().Be("Test"); }
public void Test_WithPersonalization1_ShouldRequireEmailInRecipientCollection() { var instance = new MailerSendEmailParameters(); instance.WithTo("*****@*****.**"); Action action = () => instance.WithPersonalization( new MailerSendEmailPersonalization("*****@*****.**", new { p1 = "1" }), new MailerSendEmailPersonalization("*****@*****.**", new { p1 = "2" })); action.Should() .Throw <InvalidOperationException>() .WithMessage("The email must be in the list of recipients (to)"); }
public void Test_SendMail_When_UnprocessableEntityAndUnknownBody_Then_ThrowApiException() { var apiToken = "my token"; var handler = new MockHttpMessageHandler(HttpStatusCode.UnprocessableEntity, responseContent: null); IMailerSendEmailClient client = new MailerSendEmailClient(new MockHttpClient(handler), apiToken); var parameters = new MailerSendEmailParameters(); parameters .WithTo("*****@*****.**") .WithSubject("Hi!") .WithHtmlBody("this is a test"); Func <Task> action = async() => { await client.SendEmailAsync(parameters).ConfigureAwait(false); }; action.Should() .Throw <ApiException>() .WithMessage("Unexpected response.\n\nStatus: 422\nResponse: \n"); }