public async void ReturnZeroWhenServiceUnavailable() { var handlerMock = new Mock <HttpMessageHandler>(); var response = new HttpResponseMessage { StatusCode = HttpStatusCode.ServiceUnavailable, Content = new StringContent("problems..."), }; handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(response); var httpClient = new HttpClient(handlerMock.Object); var converter = new BitcoinConverterService(httpClient); //act var amount = await converter.ConvertToUSD(1); //assert Assert.Equal(0, amount); }
private BitcoinConverterService GetBitcoinConverterService() { var handlerMock = new Mock <HttpMessageHandler>(); var response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(RESPONSE_JSON), }; handlerMock .Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(response); var httpClient = new HttpClient(handlerMock.Object); var converter = new BitcoinConverterService(httpClient); return(converter); }