public async Task ListRates_CallsListRatesMethodFromServicesLayer_WichReturnsAListWithTwoItems() { Mock <IRateData> data = new Mock <IRateData>(); data.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions)); IRateBusiness sut = new RateBusiness(data.Object, commonFakes.Mapper); List <CurrencyConvertion> result = await sut.ListRates(); Assert.AreEqual(twoCurrencyConvertions.Count, result.Count); }
public async Task ListRates_WithoutParameters_InvokesInsertOrUpdateRatesMethodFromDataLayer() { Mock <IRateData> data = new Mock <IRateData>(); data.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions)); data.Setup(m => m.InsertOrUpdateRates(It.IsAny <List <Data.Model.CurrencyConvertion> >())); IRateBusiness sut = new RateBusiness(data.Object, commonFakes.Mapper); List <CurrencyConvertion> result = await sut.ListRates(); data.Verify(m => m.InsertOrUpdateRates(It.IsAny <List <Data.Model.CurrencyConvertion> >()), Times.Once()); }
public async Task ListRates_WithoutParameters_ReturnsARateList() { Mock <IRateData> data = new Mock <IRateData>(); data.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions)); data.Setup(m => m.InsertOrUpdateRates(It.IsAny <List <Data.Model.CurrencyConvertion> >())); IRateBusiness sut = new RateBusiness(data.Object, commonFakes.Mapper); List <CurrencyConvertion> result = await sut.ListRates(); Assert.IsTrue(result is List <CurrencyConvertion>, "result is not a 'CurrencyConvertion list'"); }
public async Task ListRates_WithMissingRates_ReturnsAllRates() { Mock <IRateData> data = new Mock <IRateData>(); data.Setup(m => m.ListRates()).Returns(Task.FromResult(fourCurrencyConvertions)); data.Setup(m => m.InsertOrUpdateRates(It.IsAny <List <Data.Model.CurrencyConvertion> >())); IRateBusiness sut = new RateBusiness(data.Object, commonFakes.Mapper); List <CurrencyConvertion> result = await sut.ListRates(); Assert.IsTrue(fourCurrencyConvertions.Count < result.Count); }
public async Task ListRates_CallsListRatesMethodFromServicesLayer_WichReturnsAnEmptyList() { Mock <IRateData> data = new Mock <IRateData>(); data.Setup(m => m.ListRates()).Returns(Task.FromResult(emptyCurrencyConvertions)); data.Setup(m => m.InsertOrUpdateRates(It.IsAny <List <Data.Model.CurrencyConvertion> >())); IRateBusiness sut = new RateBusiness(data.Object, commonFakes.Mapper); List <CurrencyConvertion> result = await sut.ListRates(); Assert.AreEqual(emptyCurrencyConvertions.Count, result.Count); }
public async Task ListRates_CallsListRatesMethodFromServicesLayer_WichThrowsAnException() { Mock <IRateData> data = new Mock <IRateData>(); data.Setup(m => m.ListRates()).Throws(exception); data.Setup(m => m.InsertOrUpdateRates(It.IsAny <List <Data.Model.CurrencyConvertion> >())); IRateBusiness sut = new RateBusiness(data.Object, commonFakes.Mapper); try { await sut.ListRates(); Assert.IsTrue(false, "No exception thrown. Exception exception was expected."); } catch (Exception result) { Assert.AreSame(exception, result); } }