コード例 #1
0
        protected override void PersistenceContext()
        {
            var user = UserBuilder.New.Build();
            Save(user);
            _emailTemplate = EmailTemplateBuilder.New
                .WithInitialHtml("123")
                .WithName("template name")
                .WithUserId(user.Id)
                .Build();
            Save(_emailTemplate);

            _recipientOne = new Recipient(EmailOne, "name one");
            _recipientTwo = new Recipient(EmailTwo, "name two");
            Save(_recipientOne);
            Save(_recipientTwo);

            _email = new EmailBuilder()
                .WithoutAssigningIdsToParts()
                .WithEmailTemplate(_emailTemplate)
                .WithFromAddress(FromAddress)
                .WithSubject(Subject)
                .WithRecipient(_recipientOne)
                .WithRecipient(_recipientTwo)
                .Build();
            Save(_email);
        }
コード例 #2
0
        public void Context()
        {
            const int emailId = 23;
            _email = MockRepository.GenerateMock<Email>();
            var emailRepository = MockRepository.GenerateStub<IRepository<Email>>();
            emailRepository.Stub(a => a.GetById(emailId)).Return(_email);

            var recipientParser = MockRepository.GenerateStub<IRecipientParser>();
            recipientParser.Stub(a => a.Parse(Recipients)).Return(new Dictionary<string, string>{{AddressOne, NameOne}, {AddressTwo, NameTwo}});

            var queryExecutor = MockRepository.GenerateStub<IQueryExecutor>();
            queryExecutor.Stub(
                a =>
                a.Execute<GetExistingRecipientsQuery, Recipient>(
                    Arg<GetExistingRecipientsQuery>.Matches(p => p.RecipientEmailAddresses.Contains(AddressOne)
                                                                           &&
                                                                           p.RecipientEmailAddresses.Contains(AddressTwo))))
                .Return(new[]
                            {
                                new Recipient(AddressOne, NameOne)
                            });

            _recipientRepository = MockRepository.GenerateMock<IRepository<Recipient>>();

            var handler = new EnqueueEmailToBeSentCommandHandler(emailRepository, recipientParser, queryExecutor, _recipientRepository);
            handler.Execute(new EnqueueEmailToBeSentCommand
                                {
                                    EmailId = emailId,
                                    FromAddress = FromAddress,
                                    Recipients = Recipients,
                                    Subject = Subject
                                });
        }
        public void Context()
        {
            _email = MockRepository.GenerateMock<Email>();
            var emailParts = new EmailPart[0];
            _email.Stub(a => a.Id).Return(EmailId);
            _email.Stub(a => a.Parts).Return(emailParts);

            _recipientOne = RecipientBuilder.New.WithId(RecipientOneId).WithEmailAddress(RecipientOneEmailAddress).WithName(RecipientOneName).Build();
            _recipientTwo = RecipientBuilder.New.WithId(RecipientTwoId).WithEmailAddress(RecipientTwoEmailAddress).WithName(RecipientTwoName).Build();
            _email.Stub(a => a.EmailRecipients).Return(new HashSet<EmailRecipient>
                                                          {
                                                              new EmailRecipient(_email, _recipientOne),
                                                              new EmailRecipient(_email, _recipientTwo)
                                                          });

            _email.Stub(a => a.FromAddress).Return(FromAddress);
            _email.Stub(a => a.Subject).Return(Subject);

            var emailRepository = MockRepository.GenerateStub<IRepository<Email>>();
            emailRepository.Stub(a => a.GetById(EmailId)).Return(_email);

            var emailHtmlBuilder = MockRepository.GenerateStub<IEmailHtmlBuilder>();
            emailHtmlBuilder.Stub(a => a.BuildHtmlEmail(emailParts)).Return(EmailHtml);

            _bus = MockRepository.GenerateStub<IBus>();

            var handler = new EmailEnqueuedToBeSentEventMessageHandler(emailRepository, emailHtmlBuilder, _bus);
            handler.Handle(new EmailEnqueuedToBeSentEventMessage {EmailId = EmailId});
        }
コード例 #4
0
 public void Context()
 {
     var template = EmailTemplateBuilder.New
         .WithInitialHtml("12345")
         .WithVariable(1, 1)
         .WithVariable(1, 1)
         .Build();
     const int emailId = 78;
     _email = new EmailBuilder()
         .WithId(emailId)
         .WithEmailTemplate(template)
         .Build();
     var emailDto = new EmailDto
                                {
                                    EmailId = emailId,
                                    Parts = new[]
                                                {
                                                    new EmailPartDto
                                                        {
                                                            PartId = _email.Parts.ElementAt(1).Id,
                                                            PartType = PartType.Variable,
                                                            VariableValue = "A"
                                                        },
                                                    new EmailPartDto
                                                        {
                                                            PartId = _email.Parts.ElementAt(3).Id,
                                                            PartType = PartType.Variable,
                                                            VariableValue = "B"
                                                        },
                                                }
                                };
     _email.UpdateVariables(emailDto);
 }
コード例 #5
0
 public void Context()
 {
     _template = EmailTemplateBuilder.New
         .WithInitialHtml("123")
         .WithVariable(1, 1)
         .Build();
     _email = new Email(_template);
 }
コード例 #6
0
ファイル: EmailBuilder.cs プロジェクト: xhafan/emailmaker
 public Email Build()
 {
     var email = new Email(_emailTemplate);
     email.SetPrivateProperty(x => x.Id, _id);
     if (_assignIdsToParts) email.Parts.Each(part => part.SetPrivateProperty(x => x.Id, NextPartId));
     email.SetPrivateProperty(x => x.State, _state);
     email.SetPrivateProperty(x => x.FromAddress, _fromAddress);
     email.SetPrivateProperty(x => x.Subject, _subject);
     var emailRecipients = (ICollection<EmailRecipient>)email.EmailRecipients;
     _recipients.Each(r => emailRecipients.Add(new EmailRecipient(email, r)));
     return email;
 }
 public void Context()
 {
     var template = EmailTemplateBuilder.New.Build();
     var state = Stub<EmailState>();
     state.Stub(a => a.CanSend).Return(false);
     state.Stub(a => a.Name).Return("state");
     _email = new EmailBuilder()
         .WithEmailTemplate(template)
         .WithState(state)
         .Build();
     _exception = Should.Throw<CoreException>(() => _email.EnqueueEmailToBeSent(FromAddress, null, Subject));
 }
コード例 #8
0
        protected override void PersistenceContext()
        {
            var user = UserBuilder.New.Build();
            Save(user);
            _emailTemplate = EmailTemplateBuilder.New
                .WithInitialHtml("123")
                .WithUserId(user.Id)
                .Build();
            Save(_emailTemplate);
            _emailTemplate.CreateVariable(_emailTemplate.Parts.First().Id,  1, 1);
            Save(_emailTemplate);

            _email = new Email(_emailTemplate);
            Save(_email);
        }
        public void Context()
        {
            _email = MockRepository.GenerateMock<Email>();

            const int emailId = 23;
            var emailRepository = MockRepository.GenerateStub<IRepository<Email>>();
            emailRepository.Stub(a => a.GetById(emailId)).Return(_email);

            _emailDto = new EmailDto
                                    {
                                        EmailId = emailId,
                                    };
            var command = new UpdateEmailVariablesCommand
                              {
                                  Email = _emailDto,
                              };
            var handler = new UpdateEmailVariablesCommandHandler(emailRepository);
            handler.Execute(command);
        }
コード例 #10
0
        protected override void PersistenceContext()
        {
            var user = UserBuilder.New.Build();
            Save(user);
            var emailTemplate = EmailTemplateBuilder.New
                .WithInitialHtml("html")
                .WithName("template name")
                .WithUserId(user.Id)
                .Build();
            _email = new Email(emailTemplate);
            var anotherEmailTemplate = EmailTemplateBuilder.New
                .WithInitialHtml("another html")
                .WithName("template name")
                .WithUserId(user.Id)
                .Build();
            var anotherEmail = new Email(anotherEmailTemplate);

            Save(emailTemplate, _email, anotherEmailTemplate, anotherEmail);
        }
コード例 #11
0
 protected override void PersistenceQuery()
 {
     _retrievedEmail = Get<Email>(_email.Id);
 }
コード例 #12
0
 public void Context()
 {
     _recipient = Stub<Recipient>();
     _email = Stub<Email>();
     _emailRecipient = new EmailRecipient(_email, _recipient);
 }