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