예제 #1
0
        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>());
        }
예제 #2
0
        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));
        }