public void ListSkus_CallsListSkusMethodFromServicesLayer_WichReturnsAnEmptyList() { Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>(); Mock <ISkuData> data = new Mock <ISkuData>(); data.Setup(o => o.ListSkus()).Returns(emptySkus); ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper); List <string> result = sut.ListSkus(); Assert.AreEqual(emptySkus.Count, result.Count); }
public void ListSkus_WithoutParameters_ReturnsAStringList() { Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>(); Mock <ISkuData> data = new Mock <ISkuData>(); data.Setup(o => o.ListSkus()).Returns(oneSku); ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper); List <string> result = sut.ListSkus(); Assert.IsTrue(result is List <string>, "result is not a 'string list'"); }
public void ListSkus_WithoutParameters_InvokesListSkusMethodFromBusinessLayer() { Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>(); Mock <ISkuData> data = new Mock <ISkuData>(); data.Setup(o => o.ListSkus()).Returns(oneSku); ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper); List <string> result = sut.ListSkus(); data.Verify(m => m.ListSkus(), Times.Once()); }
public async Task GetTransactionsBySku_WithAnSkuId_InvokesGetTransactionsBySkuMethodFromBusniessLayer() { Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>(); rateBusiness.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions)); Mock <ISkuData> data = new Mock <ISkuData>(); data.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Returns(oneTransaction); ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper); Sku result = await sut.GetTransactionsBySku(CommonFakes.firstSku); data.Verify(m => m.GetTransactionsBySku(CommonFakes.firstSku), Times.Once); }
public async Task GetTransactionsBySku_WithAnSkuId_InvokesRoundBankMethodBankCalculusObject() { Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>(); rateBusiness.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions)); Mock <IBankCalculus> bankCalculus = new Mock <IBankCalculus>(); bankCalculus.Setup(m => m.RoundBank(It.IsAny <decimal>())).Returns(CommonFakes.firstAmount); Mock <ISkuData> data = new Mock <ISkuData>(); data.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Returns(oneTransactionForBank); ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus.Object, commonFakes.Configaration, commonFakes.Mapper); Sku result = await sut.GetTransactionsBySku(CommonFakes.firstSku); bankCalculus.Verify(m => m.RoundBank(It.IsAny <decimal>()), Times.Exactly(CommonFakes.twice)); }
public async Task GetTransactionsBySku_WithAnSkuId_ReturnsAFullSkuData() { Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>(); rateBusiness.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions)); Mock <ISkuData> data = new Mock <ISkuData>(); data.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Returns(oneTransaction); ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper); Sku result = await sut.GetTransactionsBySku(CommonFakes.firstSku); Assert.AreEqual(CommonFakes.firstSku, result.Name); Assert.AreEqual(oneTransaction.Count, result.Transactions.Count); Assert.AreEqual(oneTransaction.First().Sku, result.Transactions.First().Sku); Assert.AreEqual(oneTransaction.First().Amount, result.Transactions.First().Amount); Assert.AreEqual(oneTransaction.First().Currency, result.Transactions.First().Currency); }
public async Task GetTransactionsBySku_WithAnSkuId_ReturnsAFullSkuDataWithTotalRoundedToBank() { Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>(); rateBusiness.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions)); Mock <ISkuData> data = new Mock <ISkuData>(); data.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Returns(twoTransactionForBanks); ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper); Sku result = await sut.GetTransactionsBySku(CommonFakes.firstSku); decimal total = twoTransactionForBanks.Sum(o => commonFakes.RoundBank(o.Amount)); total = commonFakes.RoundBank(total); Assert.AreEqual(CommonFakes.firstSku, result.Name); Assert.AreEqual(total, result.Total); }
public void ListSkus_CallsListSkusMethodFromServicesLayer_WichThrowsAnException() { Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>(); Mock <ISkuData> data = new Mock <ISkuData>(); data.Setup(o => o.ListSkus()).Throws(exception); ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper); try { sut.ListSkus(); Assert.IsTrue(false, "No exception thrown. Exception exception was expected."); } catch (Exception result) { Assert.AreSame(exception, result); } }
public async Task GetTransactionsBySku_CallsGetTransactionsBySkuMethodFromServicesLayer_WichThrowsAnException() { Mock <IRateBusiness> rateBusiness = new Mock <IRateBusiness>(); rateBusiness.Setup(m => m.ListRates()).Returns(Task.FromResult(twoCurrencyConvertions)); Mock <ISkuData> data = new Mock <ISkuData>(); data.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Throws(exception); ISkuBusiness sut = new SkuBusiness(rateBusiness.Object, data.Object, bankCalculus, commonFakes.Configaration, commonFakes.Mapper); try { await sut.GetTransactionsBySku(CommonFakes.firstSku); Assert.IsTrue(false, "No exception thrown. Exception exception was expected."); } catch (Exception result) { Assert.AreSame(exception, result); } }