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); }