public async Task <IActionResult> GetPayment(Guid paymentId) { var query = new GetPaymentByIdQuery(paymentId); var result = await _mediator.Send(query); return(result != null ? (IActionResult)Ok(result) : NotFound()); }
public async Task ShouldFindAndReturnData() { var cardDetails = new CardDetails( "Jim", "Jimson", "1234-5678-8765-4321", 10, 20, 321); var payment = new Payment(Guid.NewGuid(), cardDetails, Currency.GBP, 123M); var paymentResult = Result.Ok(payment); _mockPaymentHistoryRepository.Setup(p => p.GetPaymentById(It.IsAny <Guid>())).ReturnsAsync(paymentResult); var sut = new GetPaymentByIdQueryHandler(_mockPaymentHistoryRepository.Object, _mockMetrics.Object); var query = new GetPaymentByIdQuery(Guid.NewGuid()); var result = await sut.Handle(query, default); _mockPaymentHistoryRepository.Verify(p => p.GetPaymentById(It.IsAny <Guid>()), Times.Once()); Assert.True(result.IsSuccess); Assert.True(result.Value.Amount == 123M); }
public async Task <IActionResult> GetId(int id) { var command = new GetPaymentByIdQuery(id); var result = await _mediatr.Send(command); return(result != null ? (IActionResult)Ok(result) : NotFound(new { Message = "Notification not found" })); }
public async Task <ActionResult> Get(int id) { var command = new GetPaymentByIdQuery(id); var result = await _mediatr.Send(command); return(result != null ? (ActionResult)Ok(new { Message = "success", data = result }) : NotFound(new { Message = "not found" })); }
public async Task ShouldReturnFailureIfCannotFindPaymentById() { var paymentResult = Result.Failure <Payment>(PaymentRepositoryErrors.PaymentRetrievalFailed); _mockPaymentHistoryRepository.Setup(p => p.GetPaymentById(It.IsAny <Guid>())).ReturnsAsync(paymentResult); var sut = new GetPaymentByIdQueryHandler(_mockPaymentHistoryRepository.Object, _mockMetrics.Object); var query = new GetPaymentByIdQuery(Guid.NewGuid()); var result = await sut.Handle(query, default); Assert.True(result.IsFailure); }
public async Task Handle_ShouldReturnNull_WhenPaymentDoesNotExists() { var getPaymentByIdHandler = CreateGetPaymentByIdHandler(); mockEfRepository.Setup(x => x.GetByIdAsync <Payment>(It.IsAny <Guid>())) .ReturnsAsync(default(Payment)); var request = new GetPaymentByIdQuery(Guid.NewGuid()); var response = await getPaymentByIdHandler.Handle(request, default); response.ShouldBeNull(); mockEfRepository.Verify(x => x.GetByIdAsync <Payment>(It.IsAny <Guid>()), Times.AtLeastOnce); }
public PaymentController( IBankService bankService, PaymentMapper paymentMapper, AddEntityCommand addEntityCommand, GetPaymentByIdQuery getPaymentByIdQuery, PaymentViewModelBuilder paymentViewModelBuilder, GetAllPaymentsQuery getAllPaymentsQuery) { this.bankService = bankService; this.paymentMapper = paymentMapper; this.addEntityCommand = addEntityCommand; this.getPaymentByIdQuery = getPaymentByIdQuery; this.paymentViewModelBuilder = paymentViewModelBuilder; this.getAllPaymentsQuery = getAllPaymentsQuery; }
public async Task HandleGetPaymentByIdQuery_ReturnsFailurePaymentResponse_WhenPaymentNotFound() { // Arrange var id = new Guid().ToString(); var request = new GetPaymentByIdQuery(new Guid().ToString()); var paymentResponse = CreateFailurePaymentResponse(id); A.CallTo(() => _paymentsService.GetAsync(request.Id)).Returns <Payment>(null); // Act var response = await _sut.Handle(request, new CancellationToken()); // Assert Assert.AreEqual(paymentResponse.Id, response.Id); Assert.AreEqual(paymentResponse.Status, response.Status); Assert.AreEqual(paymentResponse.Reason, response.Reason); }
public async Task Handle_ShouldReturnPayment_WhenIdExistsForAPayment() { var paymentId = Guid.NewGuid(); var getPaymentByIdHandler = CreateGetPaymentByIdHandler(); mockEfRepository.Setup(x => x.GetByIdAsync <Payment>(It.IsAny <Guid>())) .ReturnsAsync(new Payment { Id = paymentId, CardNumber = "1234-2345-3456-4567", TransactionStatus = "Completed" }); var request = new GetPaymentByIdQuery(paymentId); var response = await getPaymentByIdHandler.Handle(request, default); response.ShouldNotBeNull(); mockEfRepository.Verify(x => x.GetByIdAsync <Payment>(It.IsAny <Guid>()), Times.AtLeastOnce); }
public async Task <ActionResult <PaymentModel> > GetProdutos(int id) { try { _logger.LogInformation($"Veeash id: {id}"); //validation var command = new GetPaymentByIdQuery { Id = id }; var response = await _mediator.Send(command); return(Ok(response)); } catch (Exception ex) { _logger.LogError($"Poota que paril, vc Errrou! {ex.Message}"); return(BadRequest(ex.Message)); } }
public async Task HandleGetPaymentByIdQuery_ReturnsSuccessfulPaymentResponse_WhenPaymentFoundSuccessfully() { // Arrange var id = new Guid().ToString(); var request = new GetPaymentByIdQuery(new Guid().ToString()); var payment = CreateFakePayment(id); var paymentResponse = CreateSuccessfulPaymentResponse(id); A.CallTo(() => _paymentsService.GetAsync(request.Id)).Returns(payment); A.CallTo(() => _paymentMapper.Map(payment)).Returns(paymentResponse); // Act var response = await _sut.Handle(request, new CancellationToken()); // Assert Assert.AreEqual(paymentResponse, response); }
public async Task <IActionResult> GetById(Guid id) { var query = new GetPaymentByIdQuery(id); var result = await mediator.Send(query); using (logger.BeginScope(new Dictionary <string, object> { { "paymentId", id } })) { if (result != null) { logger.LogInformation("Payment fetched."); return(Ok(result)); } logger.LogInformation("Payment was not found"); return(NotFound()); } }