Exemple #1
0
        public void Given_CurrenciesAndDate_When_GetBidirectionalInvoked_Then_resultWithExchangeRatesBothRetrived()
        {
            string currencyFrom = "USD", currencyTo = "EUR";
            var    date = DateTime.Today;

            var result = _serviceUnderTest.GetBidirectional(currencyFrom, currencyTo, date);

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Count(), 2);
            Assert.IsTrue(result.Any(x => x.From == currencyFrom));
            Assert.IsTrue(result.Any(x => x.From == currencyTo));
            Assert.IsTrue(result.Any(x => x.To == currencyTo));
            Assert.IsTrue(result.Any(x => x.To == currencyFrom));
            Assert.IsTrue(result.All(x => x.Rate > 0));
            Assert.IsTrue(result.All(x => x.Date == date));
        }
        public IActionResult GetBidirectional(string currencyFrom, string currencyTo, string date)
        {
            var actionResponse = GetEmptyResponseBuilder <IEnumerable <ExchangeRate> >();

            try
            {
                var parsedDate = ParseDate(date);

                actionResponse.SetData(_exchangeRateService.GetBidirectional(currencyFrom, currencyTo, parsedDate));

                return(Ok(actionResponse));
            }
            catch (Exception ex)
            {
                return(Ko(actionResponse, ex));
            }
        }