protected override void Context() { _sendEmailRequest = new SendMailRequest { To = "*****@*****.**", Subject = "important message for you bob", Message = "hi bob, this is not really that important. Just wanted to say hello." }; _smtpClient = MockRepository.GenerateStub<ISmtpWrapper>(); _smtpClient.Stub(x => x.Send(Arg<MailMessage>.Is.Anything)) .WhenCalled(x => _mailMessagePassedToSmtpWrapper = x.Arguments[0] as MailMessage); _settingsProvider = MockRepository.GenerateStub<ISettingsProvider>(); _settingsProvider.Stub(x => x.GetEmailSettings()) .Return(new EmailSettings{AdminEmailAddress = AdminEmailAddress}); _expectedMailMessage = new MailMessage(); _expectedMailMessage.To.Add(_sendEmailRequest.To); _expectedMailMessage.From = new MailAddress(AdminEmailAddress); _expectedMailMessage.Subject = _sendEmailRequest.Subject; _expectedMailMessage.Body = _sendEmailRequest.Message; _expectedMailMessage.IsBodyHtml = true; _emailService = new EmailService(_smtpClient, _settingsProvider); }
public void SendEmail(SendMailRequest sendEmailRequest) { var emailSettings = _settingsProvider.GetEmailSettings(); var mailMessage = new MailMessage(); mailMessage.To.Add(sendEmailRequest.To); mailMessage.From = new MailAddress(emailSettings.AdminEmailAddress); mailMessage.Subject = sendEmailRequest.Subject; mailMessage.Body = sendEmailRequest.Message; mailMessage.IsBodyHtml = true; _smtpWrapper.Send(mailMessage); }
protected override void Context() { base.Context(); _createAccountRequest = new CreateAccountRequest { FirstName = "Colin", LastName = "Callahan", EmailAddress = "*****@*****.**", Username = "******", Role = Role.Employee, }; AuthorizationService.Stub( x => x.CanExecute(Arg<string>.Is.Equal(Username), Arg<Type>.Is.Equal(typeof (CreateAccountRequest)))). Return(true); _createAccountRequestValidator = MockRepository.GenerateStub<CreateAccountRequestValidator>(); _createAccountRequestValidator.Stub( x => x.Validate(Arg<CreateAccountRequest>.Is.Equal(_createAccountRequest))) .Return(new ValidationResult()); ValidatorFactory.Stub( x => x.GetValidator<CreateAccountRequest>()) .Return(_createAccountRequestValidator); AccountRepository.Stub(x => x.UserNameExists(Arg<string>.Is.Equal(_createAccountRequest.Username))) .Return(false); CryptographyService.Stub(x => x.Encrypt(Arg<string>.Is.Equal(_createAccountRequest.Username + "_password"))) .Return(EncryptedPassword); AccountRepository.Stub( x => x.Create(Arg<CreateAccountRequest>.Is.Equal(_createAccountRequest), Arg<string>.Is.Equal(EncryptedPassword))) .WhenCalled(x => _createAccountRequestPassedToRepository = x.Arguments[0] as CreateAccountRequest) .WhenCalled(x => _encryptedPasswordPassedToRepository = x.Arguments[1].ToString()); SettingsProvider.Stub(x => x.GetEmailSettings()) .Return(new EmailSettings { AdminEmailAddress = AdminEmailAddress, }); EmailService.Stub(x => x.SendEmail(Arg<SendMailRequest>.Is.Anything)) .WhenCalled(x => _sendMailRequestPassedToMailService = x.Arguments[0] as SendMailRequest); _expectedCreateAccountResponse = new CreateAccountResponse { Success = true, }; _expectedCreateAccountRequest = new CreateAccountRequest { FirstName = "Colin", LastName = "Callahan", EmailAddress = "*****@*****.**", Username = "******", Role = Role.Employee, }; }