public void Get_WithoutParameters_ReturnsAStringList() { Mock <ILogger <SkuController> > logger = new Mock <ILogger <SkuController> >(); Mock <ISkuService> service = new Mock <ISkuService>(); service.Setup(o => o.ListSkus()).Returns(oneSku); SkuController sut = new SkuController(service.Object, commonFakes.Mapper); ActionResult <List <string> > actionResult = sut.Get(); List <string> result = (List <string>)actionResult.Value; Assert.IsTrue(result is List <string>, "result is not a 'string list'"); }
public void Get_CallsListSkusMethodFromServicesLayer_WichReturnsAnEmptyList() { Mock <ILogger <SkuController> > logger = new Mock <ILogger <SkuController> >(); Mock <ISkuService> service = new Mock <ISkuService>(); service.Setup(m => m.ListSkus()).Returns(emptySkus); SkuController sut = new SkuController(service.Object, commonFakes.Mapper); ActionResult <List <string> > actionResult = sut.Get(); List <string> result = (List <string>)actionResult.Value; Assert.AreEqual(emptySkus.Count, result.Count); }
public void Get_WithoutParameters_InvokesListSkusMethodFromServicesLayer() { Mock <ILogger <SkuController> > logger = new Mock <ILogger <SkuController> >(); Mock <ISkuService> service = new Mock <ISkuService>(); service.Setup(m => m.ListSkus()).Returns(oneSku); SkuController sut = new SkuController(service.Object, commonFakes.Mapper); ActionResult <List <string> > actionResult = sut.Get(); List <string> result = (List <string>)actionResult.Value; service.Verify(m => m.ListSkus(), Times.Once()); }
public async Task Get_WithAnSkuId_InvokesGetTransactionsBySkuMethodFromServicesLayer() { Mock <ILogger <SkuController> > logger = new Mock <ILogger <SkuController> >(); Mock <ISkuService> service = new Mock <ISkuService>(); service.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Returns(Task.FromResult(fullSku)); SkuController sut = new SkuController(service.Object, commonFakes.Mapper); ActionResult <Sku> actionResult = await sut.Get(CommonFakes.firstSku); Sku result = (Sku)actionResult.Value; service.Verify(m => m.GetTransactionsBySku(CommonFakes.firstSku), Times.Once); }
public async Task Get_CallsGetTransactionsBySkuMethodFromServicesLayer_WichThrowsAnException() { Mock <ILogger <SkuController> > logger = new Mock <ILogger <SkuController> >(); Mock <ISkuService> service = new Mock <ISkuService>(); service.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Throws(exception); SkuController sut = new SkuController(service.Object, commonFakes.Mapper); try { await sut.Get(CommonFakes.firstSku); Assert.IsTrue(false, "No exception thrown. Exception exception was expected."); } catch (Exception result) { Assert.AreSame(exception, result); } }
public async Task Get_WithAnSkuId_ReturnsAFullSkuData() { Mock <ILogger <SkuController> > logger = new Mock <ILogger <SkuController> >(); Mock <ISkuService> service = new Mock <ISkuService>(); service.Setup(m => m.GetTransactionsBySku(CommonFakes.firstSku)).Returns(Task.FromResult(fullSku)); SkuController sut = new SkuController(service.Object, commonFakes.Mapper); ActionResult <Sku> actionResult = await sut.Get(CommonFakes.firstSku); Sku result = (Sku)actionResult.Value; Assert.AreEqual(fullSku.Name, result.Name); Assert.AreEqual(fullSku.Total, result.Total); Assert.AreEqual(fullSku.Transactions.Count, result.Transactions.Count); Assert.AreEqual(fullSku.Transactions.First().Sku, result.Transactions.First().Sku); Assert.AreEqual(fullSku.Transactions.First().Amount, result.Transactions.First().Amount); Assert.AreEqual(fullSku.Transactions.First().Currency, result.Transactions.First().Currency); }
public void Get_CallsListSkusMethodFromServicesLayer_WichThrowsAnException() { Mock <ILogger <SkuController> > logger = new Mock <ILogger <SkuController> >(); Mock <ISkuService> service = new Mock <ISkuService>(); service.Setup(m => m.ListSkus()).Throws(exception); SkuController sut = new SkuController(service.Object, commonFakes.Mapper); try { sut.Get(); Assert.IsTrue(false, "No exception thrown. Exception exception was expected."); } catch (Exception result) { Assert.AreSame(exception, result); } }