public void Create_ShouldReturnView() { //---------------Set up test pack------------------- var repo = Substitute.For<IItemRepository>(); var controller = new ItemController(repo); //---------------Execute Test ---------------------- var viewResult = controller.Create() as ViewResult; //---------------Test Result ----------------------- Assert.IsNotNull(viewResult); }
public void Index_GivenRepositoryHasItem_ReturnsViewWithListOfItems() { var repo = Substitute.For<IItemRepository>(); var dtoList = new List<ItemDto>(); repo.GetItemList().Returns(dtoList); //---------------Set up test pack------------------- ItemController controller = new ItemController(repo); //---------------Execute Test ---------------------- ViewResult result = controller.Index() as ViewResult; //---------------Test Result ----------------------- Assert.IsNotNull(result); Assert.IsNotNull(result.Model as IEnumerable); var map = new ItemMapper(); var itemList = map.MapItemList(dtoList); CollectionAssert.AreEqual((IEnumerable)result.Model, itemList); }
public void Details_GivenItemId_ShouldReturnViewWithItemDetails() { //---------------Set up test pack------------------- var repo = Substitute.For<IItemRepository>(); var itemDto = new ItemDto {Id = 2, ItemName = "FakeName"}; repo.GetItemById(itemDto.Id).Returns(itemDto); var controller = new ItemController(repo); //---------------Execute Test ---------------------- const int expectedId = 2; var viewResult = controller.Details(expectedId) as ViewResult; //---------------Test Result ----------------------- var resultItem = (ItemViewModel) viewResult?.ViewData.Model; Assert.IsNotNull(resultItem); var map = new ItemMapper(); var expectedItem = map.MapItem(itemDto); Assert.AreSame(expectedItem.Name, resultItem.Name); }
public void Create_Post_GivenNoItem_ShouldReturnThrowAndTheSameView() { //---------------Set up test pack------------------- var repo = new ItemRepository(Substitute.For<ILendingLibraryContext>()); var controller = new ItemController(repo); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var viewResult = controller.Create(null); //---------------Test Result ----------------------- Assert.IsNotNull(viewResult); }
public void Delete_GivenItemId_ShouldDeleteTheItem() { //---------------Set up test pack------------------- int expectedId = 1; var itemDto = new ItemDto(); itemDto.Id = expectedId; var repo = Substitute.For<IItemRepository>(); var controller = new ItemController(repo); repo.GetItemById(expectedId).Returns(itemDto); //---------------Execute Test ---------------------- var viewResult = controller.Delete(expectedId) as ViewResult; //---------------Test Result ----------------------- var item = (ItemViewModel) viewResult.ViewData.Model; Assert.IsTrue(item.Id.Equals(1)); }