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>() }); ICurrencyRatesReceiver receiver = new CurrencyRatesReceiver(config, httpClientFactory); Task result() => receiver.GetCurrencyRatesAsync(DateTime.UtcNow.Date.AddDays(-91)); await Assert.ThrowsAsync <BadRequestException>(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); }