public Task ExecuteAsync_WithInvalidMerchantId_ThrowsNotPermittedException() { var paymentId = 123; var merchantId = 999; var userSessionServiceMock = new Mock <IUserSessionService>(); userSessionServiceMock .Setup(m => m.GetCurrentMerchantId()) .Returns(merchantId); var paymentsRepositoryMock = new Mock <IPaymentRepository>(); paymentsRepositoryMock .Setup(m => m.GetPaymentDetailsByPaymentIdAsync(It.Is <int>(v => v == paymentId))) .ReturnsAsync(new PaymentDetails() { PaymentId = paymentId, MerchantId = 111 }); var query = new GetPaymentDetailsByPaymentIdQuery(paymentId); var queryHandler = new GetPaymentDetailsByPaymentIdQueryHandler(userSessionServiceMock.Object, paymentsRepositoryMock.Object); return(Assert.ThrowsAsync <NotPermittedException>(() => queryHandler.ExecuteAsync(query))); }
public async Task ExecuteAsync_WithValidPaymentId_ReturnsResult() { var paymentId = 123; var merchantId = 987; var userSessionServiceMock = new Mock <IUserSessionService>(); userSessionServiceMock .Setup(m => m.GetCurrentMerchantId()) .Returns(merchantId); var paymentsRepositoryMock = new Mock <IPaymentRepository>(); paymentsRepositoryMock .Setup(m => m.GetPaymentDetailsByPaymentIdAsync(It.Is <int>(v => v == paymentId))) .ReturnsAsync(new PaymentDetails() { PaymentId = paymentId, MerchantId = merchantId }); var queryHandler = new GetPaymentDetailsByPaymentIdQueryHandler(userSessionServiceMock.Object, paymentsRepositoryMock.Object); var query = new GetPaymentDetailsByPaymentIdQuery(paymentId); var result = await queryHandler.ExecuteAsync(query); Assert.NotNull(result); Assert.Equal(paymentId, result.PaymentId); }
public async Task <ActionResult <PaymentDetails> > GetById(int id) { var query = new GetPaymentDetailsByPaymentIdQuery(id); var paymentResult = await _getPaymentDetailsByTokenQueryHandler.ExecuteAsync(query); if (paymentResult == null) { return(NotFound()); } return(paymentResult); }