コード例 #1
0
        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);
        }
コード例 #2
0
        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("");
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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" });
        }
コード例 #5
0
        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");
        }
コード例 #6
0
        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)");
        }
コード例 #7
0
        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");
        }