Exemple #1
0
        public async Task ShouldReturnValidCalculateGiftAidResponse()
        {
            var getGiftAidAmountRequest = new GiftAidRequest
            {
                Amount = 30
            };

            var expectedResponse = new GiftAidResponse
            {
                DonationAmount = 30,
                GiftAidAmount  = 7.5m
            };

            _optionsMonitorMock.Setup(o => o.CurrentValue).Returns(new AppSettings
            {
                TaxRatePercentage     = "20",
                MinimumDonationAmount = "20",
                MaximumDonationAmount = "50"
            });

            var controller      = new GiftAidController(_optionsMonitorMock.Object, _giftAidCalculatorMock.Object, _donationDeclarationServiceMock.Object);
            var response        = controller.GetGiftAidAmount(getGiftAidAmountRequest);
            var responseContext = response as ObjectResult;

            Assert.AreEqual(200, responseContext.StatusCode);
            Assert.AreEqual(expectedResponse.ToString(), responseContext.Value.ToString());
        }
        public IActionResult Get(double number)
        {
            var giftAidResponse = new GiftAidResponse();

            if (number > 0)
            {
                giftAidResponse.DonationAmount = number;
                giftAidResponse.GiftAidAmount  = _aidCalculationService.CalculateGiftAmount(number);
            }
            return(Ok(giftAidResponse));
        }
Exemple #3
0
        public void CalculateGiftAid_ReturnsGiftAidResponseFromHandler()
        {
            var expectedResponse = new GiftAidResponse {
                DonationAmount = 100.0, GiftAidAmount = 25.0
            };

            _handler.Setup(h => h.CalculateGiftAid(It.IsAny <double>())).Returns(expectedResponse);

            var response = _controller.CalculateGiftAid(25.0);

            Assert.Same(expectedResponse, (GiftAidResponse)((OkObjectResult)response.Result).Value);
        }
Exemple #4
0
        public ActionResult GetGiftAid([FromQuery] GiftAidRequest giftAidRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (giftAidRequest is null)
            {
                return(BadRequest("Invalid donation"));
            }

            var calculatedGiftAidAmount = _giftAidService.Calculate(giftAidRequest.Amount);

            var giftAidResponse = new GiftAidResponse
            {
                DonationAmount = giftAidRequest.Amount,
                GiftAidAmount  = calculatedGiftAidAmount
            };

            return(Ok(giftAidResponse));
        }