Пример #1
0
        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);
        }
Пример #2
0
        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 void SetUp()
 {
     _sut = new GetPaymentByIdQueryHandler(_paymentsService, _paymentMapper);
 }