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)); }
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); }
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)); }