public async Task When_DateFrom_Is_Lower_Than_90_Days_Should_Throw_Exception() { var config = ConfigFactory.GetConfig(); var httpClientFactory = HttpClientFactoryProvider.GetHttpClientFactory(new CurrencyRateDto() { Rates = new List<Rate>() }); ICurrencyRatesBetweenDatesReceiver receiver = new CurrencyRatesBetweenDatesReceiver(config, httpClientFactory); Task result() => receiver.GetCurrencyRatesBetweenDaysAsync(DateTime.UtcNow.Date.AddDays(-91), DateTime.UtcNow.Date.AddDays(-1)); await Assert.ThrowsAsync<BadRequestException>(result); }
public async Task Should_Return_Data_For_Valid_Request() { var config = ConfigFactory.GetConfig(); var httpClientFactory = HttpClientFactoryProvider.GetHttpClientFactory( new List<CurrencyRateDto>() { new CurrencyRateDto() { Rates = new List<Rate>() } } ); ICurrencyRatesBetweenDatesReceiver receiver = new CurrencyRatesBetweenDatesReceiver(config, httpClientFactory); var result = await receiver.GetCurrencyRatesBetweenDaysAsync(DateTime.UtcNow.Date.AddDays(-40), DateTime.UtcNow.Date.AddDays(-30)); Assert.NotEmpty(result); }
public async Task Should_Return_Anything_For_Valid_Request() { var config = ConfigFactory.GetConfig(); var httpClientFactory = HttpClientFactoryProvider.GetHttpClientFactory(new CurrencyRateDto() { Rates = new List <Rate>() }); ICurrencyRatesReceiver receiver = new CurrencyRatesReceiver(config, httpClientFactory); var result = await receiver.GetCurrencyRatesAsync(DateTime.UtcNow.Date); Assert.NotEmpty(result); }
public async Task When_Config_Is_Invalid_Should_Throw_Exception() { var options = new Mock <IOptions <CurrencyRatesConfig> >(); var httpClientFactory = HttpClientFactoryProvider.GetHttpClientFactory(new CurrencyRateDto() { Rates = new List <Rate>() }); ICurrencyRatesReceiver receiver = new CurrencyRatesReceiver(options.Object, httpClientFactory); Task result() => receiver.GetCurrencyRatesAsync(DateTime.UtcNow.Date); await Assert.ThrowsAsync <InvalidOperationException>(result); }