public void Execute_BothFailureAndSuccessValidationRuleReturnedTest() { var emailMessage = new EmailMessage { From = "*****@*****.**", Subject = "Some Email Subject", To = "*****@*****.**", HtmlBody = "<b>Hello</b>" }; var mockValidationRule1 = new Mock <IEmailValidationRule>(); var mockValidationRule2 = new Mock <IEmailValidationRule>(); mockValidationRule1 .Setup(x => x.Validate(emailMessage)) .Returns(ValidationResult.Success); mockValidationRule2 .Setup(x => x.Validate(emailMessage)) .Returns(ValidationResult.Failed("From Email Address Invalid")); var validationRules = new List <IEmailValidationRule> { mockValidationRule1.Object, mockValidationRule2.Object }; var emailValidator = new EmailValidator(validationRules); var results = emailValidator.Execute(emailMessage); Assert.NotNull(results); Assert.False(results.IsSuccess); Assert.True(results.FailureReasons.Length == 1); }
private void HandleValidateEmailMsg(ValidateEmailMsg msg) { Persist(msg, validateEmailMsg => { var result = _emailValidator.Execute(_mapper.Map <EmailMessage>(msg.Email)); if (result.IsSuccess) { var emailQualifyMsg = new EmailQualifyMsg( validateEmailMsg.RequestId, validateEmailMsg.Email, validateEmailMsg.MessageType ); Context.Parent.Tell(emailQualifyMsg, Self); } else { var emailQualifyMsg = new EmailDisqualifiedMsg( validateEmailMsg.RequestId, validateEmailMsg.Email, validateEmailMsg.MessageType, result.FailureReasons ); Context.Parent.Tell(emailQualifyMsg, Self); } }); }
public void Execute_NoValidationRuleIsPassedToValidatorTest() { var emailMessage = new EmailMessage { From = "*****@*****.**", Subject = "Some Email Subject", To = "*****@*****.**", HtmlBody = "<b>Hello</b>" }; var emailValidator = new EmailValidator(new List <IEmailValidationRule>()); var results = emailValidator.Execute(emailMessage); Assert.NotNull(results); Assert.True(results.IsSuccess); Assert.True(results.FailureReasons.Length == 0); }