public void ShouldValidateAppSettingsSuccessfuly() { _optionsMonitorMock.Setup(o => o.CurrentValue).Returns(new AppSettings() { MinimumDonationAmount = "2", MaximumDonationAmount = "100000", TaxRatePercentage = "20" }); var expectedValidationResult = new List <ValidationResult>(); var donationAmountValidationResult = AppSettingsValidator.ValidateAppSettings(_optionsMonitorMock.Object); Assert.AreEqual(expectedValidationResult, donationAmountValidationResult); }
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)); }
public void ValidateAppSettingsShouldReturnTaxRatePercentageValidationError() { _optionsMonitorMock.Setup(o => o.CurrentValue).Returns(new AppSettings() { MinimumDonationAmount = "2", MaximumDonationAmount = "100000" }); var expectedValidationResult = new List <ValidationResult>() { new ValidationResult("Configuration of application does not contain tax rate percentage.") }; var donationAmountValidationResult = AppSettingsValidator.ValidateAppSettings(_optionsMonitorMock.Object); Assert.AreEqual(1, donationAmountValidationResult.Count); Assert.AreEqual(expectedValidationResult[0].ErrorMessage, donationAmountValidationResult[0].ErrorMessage); }
public void ValidateAppSettingsShouldReturnAmountRangeValidationError() { _optionsMonitorMock.Setup(o => o.CurrentValue).Returns(new AppSettings() { TaxRatePercentage = "20", MinimumDonationAmount = "2", MaximumDonationAmount = "1" }); var expectedValidationResult = new List <ValidationResult>() { new ValidationResult("Configuration of application contains invalid definition of minimum and maximum donation amount.") }; var donationAmountValidationResult = AppSettingsValidator.ValidateAppSettings(_optionsMonitorMock.Object); Assert.AreEqual(1, donationAmountValidationResult.Count); Assert.AreEqual(expectedValidationResult[0].ErrorMessage, donationAmountValidationResult[0].ErrorMessage); }