public void SaveCurrencyRate_RateIsNotNull_NewRateIsSaved() { var expected = new Database.Models.CurrencyRate { Id = 4, Day = DateTime.Today, BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m }; var initialData = new List <Database.Models.CurrencyRate> { new Database.Models.CurrencyRate { Id = 1, Day = DateTime.Today.AddDays(-3), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m }, new Database.Models.CurrencyRate { Id = 2, Day = DateTime.Today.AddDays(-2), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m }, new Database.Models.CurrencyRate { Id = 3, Day = DateTime.Today.AddDays(-1), BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m } }; var context = new Mock <ICurrencyRatesContext>(); context.Setup(_ => _.CurrencyRates).Returns(DbSetMocking.CreateMockSet(initialData.AsQueryable()).Object); context.Setup(_ => _.SaveChanges()).Returns(1); var agent = new CurrencyRatesDataAgent(context.Object); var result = agent.SaveCurrencyRate(expected); Assert.True(result); }
public static CurrencyRate ToDomainObject(this Database.Models.CurrencyRate currencyRate) { return(new CurrencyRate { Id = currencyRate.Id, BaseCurrency = currencyRate.BaseCurrency, TargetCurrency = currencyRate.TargetCurrency, Day = currencyRate.Day, Rate = currencyRate.Rate }); }
public void GetCurrencyRate_Queried_ItShouldReturnRate() { var expected = new Database.Models.CurrencyRate { Id = 1, Day = DateTime.Today, BaseCurrency = "EUR", TargetCurrency = "GBP", Rate = 0.85m }; var ratesAgent = new Mock <ICurrencyRatesDataAgent>(); ratesAgent.Setup(_ => _.GetCurrencyRate(It.IsAny <DateTime>(), It.IsAny <string>(), It.IsAny <string>())).Returns(expected); var service = new Domain.PersistenceServices.DatabaseCurrencyRatePersistenceService(ratesAgent.Object); var actual = service.GetCurrencyRate(DateTime.Today, "EUR", "GBP"); Assert.AreEqual(expected.Id, actual.Id); }