public BCAEligibility() { amountValidator = new AmountValidator(); averageValidator = new AverageValidator(); timeInBusinessValidator = new TimeInBusinessValidator(); higherAmountValidation = new HigherAmountValidation(); InitConfiguration(); }
public void ShouldValidateWhenLowerRangeIsZero() { _optionsMonitorMock.Setup(o => o.CurrentValue).Returns(new AppSettings() { MaximumDonationAmount = "100000" }); var amountValidationResult = AmountValidator.ValidateAmount(_optionsMonitorMock.Object, 5); Assert.AreEqual(ValidationResult.Success, amountValidationResult); }
public void ShouldReturnValidationErrorWhenAmountIsOutOfRangeButMaximumAmountIsNotDefined() { _optionsMonitorMock.Setup(o => o.CurrentValue).Returns(new AppSettings() { MinimumDonationAmount = "3" }); var expectedValidationError = new ValidationResult("Donation amount can not be smaller than 3"); var amountValidationResult = AmountValidator.ValidateAmount(_optionsMonitorMock.Object, 1); Assert.AreEqual(expectedValidationError.ErrorMessage, amountValidationResult.ErrorMessage); }
private ObjectResult ValidateOperation(decimal donationAmount) { var appSettingsValidationResult = AppSettingsValidator.ValidateAppSettings(_appSettings); if (appSettingsValidationResult.Count > 0) { return(StatusCode(500, new ValidationResult("Internal Server Error: Definition of one or more configuration settings of the application are invalid."))); } var requestValidationResult = AmountValidator.ValidateAmount(_appSettings, donationAmount); if (requestValidationResult != null) { return(StatusCode(400, requestValidationResult)); } return(StatusCode(200, null)); }