public void Delete_GivenItemIdDoesNotExist_ShouldThrow() { //---------------Set up test pack------------------- var context = Substitute.For<ILendingLibraryContext>(); var repo = new ItemRepository(context); SetContextWithDtos(context, new List<ItemDto>()); const string expectedMessage = "Item has already been removed"; //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- var result = Assert.Throws<ApplicationException>(() => repo.Delete(9)); //---------------Test Result ----------------------- Assert.AreEqual(expectedMessage, result.Message); }
public void Delete_GivenItemId_ShouldDeleteThatItem() { //---------------Set up test pack------------------- var items = SetUpItemDataContext(); var context = Substitute.For<ILendingLibraryContext>(); SetContextWithDtos(context, items); var repo = new ItemRepository(context); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- //---------------Test Result ----------------------- Assert.IsTrue(repo.GetItemList().Contains(items[1])); repo.Delete(items[1].Id); var newItem = context.Items.FirstOrDefault(x => x.Id != items[1].Id); Assert.IsNotNull(newItem); }