public async Task GetPaymentRequestAsync_ExpectedResult_VerifiesCall() { // Arrange var singlePaymentRequest = new SinglePaymentRequest() { PlatformToken = "PlatformToken", UserToken = "UserToken", PaymentRequestToken = "PaymentRequestToken" }; var expectedResult = new SinglePaymentRequestResponse(); var urlSuffix = UrlProvider.GetPaymentUrlSuffix(singlePaymentRequest.PlatformToken, singlePaymentRequest.UserToken, singlePaymentRequest.PaymentRequestToken); _mockAuthorizedRequestsHandler .Setup(m => m.GetOrExceptionAsync <SinglePaymentRequestResponse>(urlSuffix)) .ReturnsAsync(expectedResult) .Verifiable(); var sut = CreateSut(); // Act var result = await sut.GetPaymentRequestAsync(singlePaymentRequest); // Assert Assert.IsNotNull(result); Assert.AreEqual(expectedResult, result); _mockAuthorizedRequestsHandler .Verify(m => m.GetOrExceptionAsync <SinglePaymentRequestResponse>(urlSuffix), Times.Once); }
/// <summary> /// Gets a Single Payment Request using HTTP GET. /// </summary> /// <param name="request">The SinglePaymentRequest object</param> /// <returns>The SinglePaymentRequestResponse object</returns> /// <exception cref="ArgumentNullException">If the SinglePaymentRequest object is null</exception> /// <exception cref="TikkieErrorResponseException">If the Tikkie API returns an error response.</exception> public async Task <SinglePaymentRequestResponse> GetPaymentRequestAsync(SinglePaymentRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } return(await _authorizedRequestsHandler .GetOrExceptionAsync <SinglePaymentRequestResponse>(UrlProvider.GetPaymentUrlSuffix(request.PlatformToken, request.UserToken, request.PaymentRequestToken))); }