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);
        }
        public async Task GetPaymentRequestAsync_ExpectedResponse_VerifiesCall()
        {
            // Arrange
            var singlePaymentRequest       = new SinglePaymentRequest();
            var expectedResult             = new SinglePaymentRequestResponse();
            var mockPaymentRequestsHandler = new Mock <IPaymentRequestsHandler>();

            mockPaymentRequestsHandler
            .Setup(m => m.GetPaymentRequestAsync(singlePaymentRequest))
            .ReturnsAsync(expectedResult)
            .Verifiable();

            var sut = new TikkieClient(Mock.Of <IPlatformRequestsHandler>(), Mock.Of <IUserRequestsHandler>(), mockPaymentRequestsHandler.Object);

            // Act
            var result = await sut.GetPaymentRequestAsync(singlePaymentRequest);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(expectedResult, result);
            mockPaymentRequestsHandler
            .Verify(m => m.GetPaymentRequestAsync(singlePaymentRequest), Times.Once);
        }