示例#1
0
        public async Task GetPayments_Expected_StatusCode_Is_Return(HttpStatusCode statusCode, HttpContent content)
        {
            var mockHttpMessageHandler = new Mock <HttpMessageHandler>();

            var merchantId  = 123;
            var absoluteURi = $"{Url}/api/payments?merchantId={merchantId}";

            mockHttpMessageHandler
            .Protected()
            .Setup <Task <HttpResponseMessage> >("SendAsync",
                                                 ItExpr.Is <HttpRequestMessage>(x => x.RequestUri.AbsoluteUri == absoluteURi && x.Method == HttpMethod.Get),
                                                 ItExpr.IsAny <CancellationToken>())
            .ReturnsAsync(new HttpResponseMessage
            {
                StatusCode = statusCode,
                Content    = content
            });

            var httpClient = new HttpClient(mockHttpMessageHandler.Object);

            var paymentsApiClient = new PaymentsApiClient(httpClient, _configuration);


            var response = await paymentsApiClient.GetPayments(123);


            response.StatusCode.Should().Be(statusCode);
        }