public async Task GetRateAsync_ArgumentsNullOrEmpty(string from, string to) { var logger = TestHelper.CreateDefaultLogger(); var httpMessageHandler = new Mock <HttpMessageHandler>(); var httpClient = new HttpClient(httpMessageHandler.Object); var exchageRateApi = new ExchangeRateApi(httpClient, logger.Object); var rate = await exchageRateApi.GetRateAsync(from, to); Assert.IsNull(rate); }
public async Task GetRateAsync_ArgumentsEquals() { var logger = TestHelper.CreateDefaultLogger(); var httpMessageHandler = new Mock <HttpMessageHandler>(); var httpClient = new HttpClient(httpMessageHandler.Object); var exchageRateApi = new ExchangeRateApi(httpClient, logger.Object); var currency = EurCurrency; var rate = await exchageRateApi.GetRateAsync(currency, currency); Assert.AreEqual(1m, rate); }
public async Task GetRateAsync_ResponseSuccessJsonWithoutRate() { var logger = TestHelper.CreateDefaultLogger(); var response = new HttpResponseMessage() { StatusCode = HttpStatusCode.OK, Content = new StringContent(@"{""result"": ""success""}"), }; var httpMessageHandler = new Mock <HttpMessageHandler>(); var httpClient = new HttpClient(httpMessageHandler.Object); httpMessageHandler.Protected() .Setup <Task <HttpResponseMessage> >( "SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()) .ReturnsAsync(response); var exchageRateApi = new ExchangeRateApi(httpClient, logger.Object); var rate = await exchageRateApi.GetRateAsync(EurCurrency, UsdCurrency); Assert.IsNull(rate); }