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

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

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

            var httpClient = new HttpClient(mockHttpMessageHandler.Object);

            var paymentsApiClient = new PaymentsApiClient(httpClient, _configuration);


            var response = await paymentsApiClient.CreatePayment(new PaymentRequest());


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