Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }