public void GET_CalculateGiftAid_ReturnsCalculatedAmount() { var expected = 2.5m; service.CalculateGiftAidAmount(Arg.Any <decimal>()).Returns(Result.Ok <decimal>(2.5m)); var result = controller.CalculateGiftAid(10); Assert.IsTrue(result is OkObjectResult); var okResult = result as OkObjectResult; Assert.AreEqual(200, okResult.StatusCode); Assert.AreEqual(expected, ((GiftAidResponse)okResult.Value).GiftAidAmount); service.Received().CalculateGiftAidAmount(Arg.Any <decimal>()); }
public IActionResult CalculateGiftAid([FromQuery][Required()] decimal amount) { var giftAid = _service.CalculateGiftAidAmount(amount); if (giftAid.IsFailure) { return(BadRequest(giftAid.Error)); } var response = new GiftAidResponse() { DonationAmount = amount, GiftAidAmount = giftAid.Value }; return(Ok(response)); }