예제 #1
0
        public void GivenCorrectBody_WhenCreatingTextBodyInstance_ShouldSucceed()
        {
            var bodyText = "This is correct body";

            var body = MessageBody.CreateTextBody(bodyText);

            Assert.That(body, Is.Not.Null);
            Assert.That(body.IsHtml, Is.False);
            Assert.That(body.Body, Is.EqualTo(bodyText));
        }
        public void GivenEmailWithoutRecipients_WhenFinalizing_ShouldSucceed()
        {
            var recipient = new EmailAddress("*****@*****.**");

            var message = EmailMessage.CreatePending(subject: "Test",
                                                     body: MessageBody.CreateTextBody("This is test message"),
                                                     sender: new EmailAddress("*****@*****.**"),
                                                     recipients: null);

            Assert.Catch <NoRecipientsException>(() => { message.FinalizeMessage(); });
        }
        public void GivenEmailWithoutSubject_WhenFinalizing_ShouldFail()
        {
            var recipient = new EmailAddress("*****@*****.**");

            var message = EmailMessage.CreatePending(subject: null,
                                                     body: MessageBody.CreateTextBody("This is test message"),
                                                     sender: new EmailAddress("*****@*****.**"),
                                                     recipients: new[] { recipient });

            Assert.Catch <EmptySubjectException>(() => { message.FinalizeMessage(); });
        }
        public void GivenCompleteEmail_WhenFinalizing_ShouldSucceed()
        {
            var recipient = new EmailAddress("*****@*****.**");

            var message = EmailMessage.CreatePending(subject: "Test",
                                                     body: MessageBody.CreateTextBody("This is test message"),
                                                     sender: new EmailAddress("*****@*****.**"),
                                                     recipients: new[] { recipient });

            Assert.DoesNotThrow(() => { message.FinalizeMessage(); });
        }
            public override async Task <Unit> Handle(UpdateEmailMessageBody command, CancellationToken cancellationToken)
            {
                var message = await this.GetMessageById(command.Id);

                var body = command.IsHtmlBody
                    ? MessageBody.CreateHtmlBody(command.Body)
                    : MessageBody.CreateTextBody(command.Body);

                message.UpdateBody(body);
                await this.emailRepository.UpdateMessageAsync(message);

                return(Unit.Value);
            }
        public void GivenTwoSameRecipients_ShouldStoreOne()
        {
            const string emailAddress = "*****@*****.**";
            var          recipient    = new EmailAddress(emailAddress);
            var          recipient2   = new EmailAddress(emailAddress);

            var message = EmailMessage.CreatePending(subject: "Test",
                                                     body: MessageBody.CreateTextBody("This is test message"),
                                                     sender: new EmailAddress("*****@*****.**"),
                                                     recipients: new[] { recipient });

            message.AddRecipient(recipient2);

            Assert.That(message.Recipients.Count(), Is.EqualTo(1));
        }
예제 #7
0
 public void GivenIncorrectBody_WhenCreatingTextBodyInstance_ShouldFail(
     [Values("", null, "                 ", "\n")]
     string body)
 {
     Assert.Catch <EmptyMessageBodyException>(() => { MessageBody.CreateTextBody(body); });
 }