public void UpdateItemSavesItemAndReturnsValidModel() { var itemToUpdate = new ToDoItem { ItemId = 1, Title = "Updated Item", DueDate = DateTime.Now, IsDone = false }; var existingEntityItem = new EntityModel.ToDoItem { ItemId = itemToUpdate.ItemId, Title = "Old Title", DueDate = itemToUpdate.DueDate, IsCompleted = itemToUpdate.IsDone }; var mockToDoDbSet = GetMockedDbSet(new [] { existingEntityItem }); var mockContext = new Mock <IToDoContext>(); mockContext.Setup(context => context.ToDoItems).Returns(mockToDoDbSet); var repository = new ToDoItemsRepository(mockContext.Object); var result = repository.UpdateItem(itemToUpdate).Result; mockContext.Verify(context => context.SaveChangesAsync(), Times.Once); Assert.AreEqual(itemToUpdate.Title, result.Title); Assert.AreEqual(itemToUpdate.DueDate, result.DueDate); Assert.AreEqual(itemToUpdate.IsDone, result.IsDone); }
public void DeleteItemRemovesItem() { var existingEntityItem = new EntityModel.ToDoItem { ItemId = 1, Title = "Item 1", DueDate = DateTime.Now, IsCompleted = false, }; var mockToDoDbSet = GetMockedDbSet(new[] { existingEntityItem }); var mockContext = new Mock <IToDoContext>(); mockContext.Setup(context => context.ToDoItems).Returns(mockToDoDbSet); var repository = new ToDoItemsRepository(mockContext.Object); var result = repository.DeleteItem(existingEntityItem.ItemId); mockContext.Verify(context => context.SaveChangesAsync(), Times.Once); }
public void UpdateItemStateSetsDoneStateCorrectlyOnItem() { var existingEntityItem = new EntityModel.ToDoItem { ItemId = 1, Title = "Item 1", DueDate = DateTime.Now, IsCompleted = false, }; var mockToDoDbSet = GetMockedDbSet(new[] { existingEntityItem }); var mockContext = new Mock <IToDoContext>(); mockContext.Setup(context => context.ToDoItems).Returns(mockToDoDbSet); var repository = new ToDoItemsRepository(mockContext.Object); var result = repository.UpdateItemState(existingEntityItem.ItemId).Result; mockContext.Verify(context => context.SaveChangesAsync(), Times.Once); Assert.AreNotSame(existingEntityItem.IsCompleted, result.IsDone); }