public void MapItemList_GivenItemDTOAsList_ShouldReturnAnItemList() { //---------------Set up test pack------------------- var itemDto = new ItemDto() { Id = 2, Description = "Description two", ItemName = "ItemDTO name2" }; var itemDto1 = new ItemDto() { Id = 3, Description = "Description three", ItemName = "ItemDTO name3" }; var itemDTOList = new List<ItemDto>() { itemDto, itemDto1 }; var mapper = new ItemMapper(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- List<ItemViewModel> itemList = mapper.MapItemList(itemDTOList); //---------------Test Result ----------------------- Assert.AreEqual(itemDTOList.Count, itemList.Count); }
public void Add(ItemDto newItemDto) { if (newItemDto == null) { throw new ApplicationException("Null item cannot be added"); } if (IsItemExist(newItemDto)) { throw new ApplicationException("Item already exists"); } _context.Items.Add(newItemDto); _context.SaveChanges(); }
public ItemViewModel MapItem(ItemDto itemDto) { if (itemDto == null) { return null; } var item = new ItemViewModel() { Id = itemDto.Id, Description = itemDto.Description, Name = itemDto.ItemName }; return item; }
public ItemDto MapItemDto(ItemViewModel item) { if (item == null) { return null; } var itemDto = new ItemDto() { Id = item.Id, ItemName = item.Name, Description = item.Description }; return itemDto; }
public void MapItem_GivenItemDTOByName_ShouldReturnAnItem() { //---------------Set up test pack------------------- var itemDto = new ItemDto() { Id = 2, Description = "Description two", ItemName = "ItemDTO name2" }; var mapper = new ItemMapper(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- ItemViewModel item = mapper.MapItem(itemDto); //---------------Test Result ----------------------- Assert.AreEqual(itemDto.ItemName, item.Name); }
public void MapItem_GivenItemDTO_ShouldReturnAnItem() { //---------------Set up test pack------------------- var itemDTO = new ItemDto() { Id = 1, Description = "First item DTO", ItemName = "ItemDTO name1" }; var mapper = new ItemMapper(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- ItemViewModel item = mapper.MapItem(itemDTO); //---------------Test Result ----------------------- Assert.AreEqual(itemDTO.Id, item.Id); }
public void GetItemList_GivenOneItem_ShouldReturnThatItem() { var testItem = new ItemDto() { Id = 1, Description = "Description one", ItemName = "Ball" }; var testItemList = new List<ItemDto>() { testItem }; var context = Substitute.For<ILendingLibraryContext>(); SetContextWithDtos(context, testItemList); //---------------Set up test pack------------------- var repo = new ItemRepository(context); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = repo.GetItemList(); //---------------Test Result ----------------------- Assert.AreEqual(testItemList, result); }
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 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)); }
public void Add_GivenNewItem_ShouldAddToList() { //---------------Set up test pack------------------- var newItem = new ItemDto() { Id = 4, Description = "Description four", ItemName = "AnotherItemName" }; var itemsList = new List<ItemDto>(); var context = Substitute.For<ILendingLibraryContext>(); SetContextWithDtos(context,itemsList); var repo = new ItemRepository(context); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- repo.Add(newItem); //var result = repo.GetItemList(); var result = context.Items.Where(x => x.Id == newItem.Id); Assert.IsNotNull(result); }
public void Update_GivenItemIdThatDoesNotExist_ShouldAddToItemList() { var items = SetUpItemDataContext(); //---------------Set up test pack------------------- var itemToUpdate = new ItemDto() { Id = 7, Description = "ItemDTO I'm going to update", ItemName = "ItemToUpdate" }; var context = Substitute.For<ILendingLibraryContext>(); SetContextWithDtos(context, items); var repo = new ItemRepository(context); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- repo.Update(itemToUpdate); var addedItem = repo.GetItemById(itemToUpdate.Id); //---------------Test Result ----------------------- Assert.AreEqual(itemToUpdate, addedItem); Assert.IsNotNull(addedItem); }
public void Add_GivenAlreadyExistingItem_ShouldNotAddItemToListAndThrow() { //---------------Set up test pack------------------- var newItem = new ItemDto() { Id = 10, Description = "Description one", ItemName = "ItemName" }; var itemsList = new List<ItemDto> { newItem }; var context = Substitute.For<ILendingLibraryContext>(); SetContextWithDtos(context, itemsList); var repo = CreateItemRepository(context); var message = "Item already exists"; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = Assert.Throws<ApplicationException>(() => repo.Add(newItem)); //---------------Test Result ----------------------- Assert.AreEqual(message, result.Message); }
public void Update(ItemDto itemDto) { var item = GetItemById(itemDto.Id); if (item == null) { _context.Items.Add(itemDto); _context.SaveChanges(); } else { item.Description = itemDto.Description; item.ItemName = itemDto.ItemName; _context.SaveChanges(); } }
private bool IsItemExist(ItemDto itemDto) { return _context.Items.Any(t => t.Id == itemDto.Id); }