public ArrangementsBuilder() { _mediatorMock = new Mock <IMediator>(); _createDonationCommandMock = new Mock <ICreateDonationCommand>(); _loggerMock = new Mock <ILogger <DonationHandler> >(); _mediatorMock.Setup(s => s.Send(It.IsAny <CalculateGiftAidRequest>(), It.IsAny <CancellationToken>())) .Returns((CalculateGiftAidRequest r, CancellationToken c) => { _calculateGiftAidRequest = r; return(Task.FromResult(_calculateGiftAidResponse)); }); _mediatorMock.Setup(s => s.Send(It.IsAny <FileGiftAidDeclarationRequest>(), It.IsAny <CancellationToken>())) .Returns((FileGiftAidDeclarationRequest r, CancellationToken c) => { _fileGiftAidDeclarationRequest = r; return(Task.FromResult(_fileGiftAidDeclarationResponse)); }); _createDonationCommandMock.Setup(s => s.Execute(It.IsAny <Data.Model.Donation>(), It.IsAny <CancellationToken>())) .Returns((Data.Model.Donation d, CancellationToken c) => { _createdDonation = d; return(Task.FromResult(true)); }); }
public IActionResult Get([FromQuery] CalculateGiftAidRequest request) { Log.Information($"Received {nameof(CalculateGiftAidRequest)}: {@request}", request); var response = new CalculateGiftAidResponse { DonationAmount = request.Amount, GiftAidAmount = _giftAidCalculator.Calculate(request.Amount) }; return(new JsonResult(response)); }
public void Get_ValidAmount_ReturnsGiftAidAmount() { var request = new CalculateGiftAidRequest { Amount = 100m }; _giftAidCalculator.Calculate(request.Amount).Returns(20); _controller = new GiftAidController(_giftAidCalculator, _giftAidRepository, _postCodeValidator); var response = _controller.Get(request) as JsonResult; var giftAidResponse = response.Value as CalculateGiftAidResponse; _giftAidCalculator.Received(1).Calculate(request.Amount); Assert.That(giftAidResponse.GiftAidAmount, Is.EqualTo(20)); }