public GetPaymentHandlerTests() { _mockEvents = new List <IEvent <Payment> >(); _mockEventStore = new Mock <IEventStore <Payment> >(); _sut = new GetPaymentHandler(_mockEventStore.Object); _mockQuery = new GetPaymentQuery(Guid.Empty); _mockCancellationToken = new CancellationToken(); }
public void GivenAPaymentId_IfItDoesNotExistWithTheBank_ShouldReturnNotFoundException() { // arrange _bankApi.FetchPaymentDetails(Arg.Any <string>()).ReturnsNull(); var handler = new GetPaymentHandler(_bankApi); // act var ex = Assert.Throws <NotFoundException>(() => handler.Handle("id")); // assert Assert.NotNull(ex); }
public void GivenPaymentRequestToRetrieve_IfItExistsWithBank_ShouldReturnHashedCardNumber() { // arrange var expectedPaymentRequestId = Guid.NewGuid().ToString(); var paymentRequest = BuildTestPaymentRequestResponse(expectedPaymentRequestId, true, "hashTest"); var expectedHashedCardNumber = Utils.HashCardNumber(paymentRequest.CardNumber); _bankApi.FetchPaymentDetails(expectedPaymentRequestId).Returns(paymentRequest); var handler = new GetPaymentHandler(_bankApi); // act var result = handler.Handle(expectedPaymentRequestId); // assert Assert.Equal(expectedHashedCardNumber, result.HashedCardNumber); }
public void GivenASuccessfulPaymentRequestToRetrieve_IfItExistsWithBank_ShouldReturnPayment() { // arrange var expectedPaymentRequestId = Guid.NewGuid().ToString(); var paymentRequest = BuildTestPaymentRequestResponse(expectedPaymentRequestId, true); _bankApi.FetchPaymentDetails(expectedPaymentRequestId).Returns(paymentRequest); var handler = new GetPaymentHandler(_bankApi); // act var result = handler.Handle(expectedPaymentRequestId); // assert Assert.Equal(expectedPaymentRequestId, result.RequestId); Assert.True(result.Success); }
public static IActionResult Status([HttpTrigger( AuthorizationLevel.Function, "GET", Route = "fakeBank/payment/{paymentRequestId}")] HttpRequestMessage request, string paymentRequestId) { var bankApi = new FakeBankApi(); var handler = new GetPaymentHandler(bankApi); try { var paymentRequest = handler.Handle(paymentRequestId); return(new OkObjectResult(paymentRequest)); } catch (NotFoundException) { return(new NotFoundResult()); } }