public async Task GetAll_Returns_TodoItemList() { ITodoItemProvider provider = new TodoItemProvider(mockContext.Object); var categories = await provider.GetAll(); Assert.Equal(3, categories.Count()); }
public async Task Create_ThrowsExeption_DuplicateName() { ITodoItemProvider provider = new TodoItemProvider(mockContext.Object); var item = new TodoItemDAO { Id = 22, Name = "TestItem1" }; await Assert.ThrowsAsync <ArgumentException>(() => provider.Create(item)); }
public async Task Get_Returns_TodoItem() { ITodoItemProvider provider = new TodoItemProvider(mockContext.Object); int idItemToGet = 1; var TodoItem = await provider.Get(idItemToGet); Assert.Equal(idItemToGet, TodoItem.Id); }
public async Task Create_ThrowsExeption_PriorityOutOf1to5Range() { ITodoItemProvider provider = new TodoItemProvider(mockContext.Object); var item = new TodoItemDAO { Id = 22, Priority = 10 }; await Assert.ThrowsAsync <ArgumentException>(() => provider.Create(item)); }
public async Task Create_ThrowsExeption_InvalidDeadlineDate() { ITodoItemProvider provider = new TodoItemProvider(mockContext.Object); var item = new TodoItemDAO { Id = 22, Name = "TestItem1", DeadLineDate = DateTime.UtcNow.Subtract(new TimeSpan(1, 0, 0)) }; await Assert.ThrowsAsync <ArgumentException>(() => provider.Create(item)); }
public async Task Create_Returns_createdIdAndAddsTodoItem() { ITodoItemProvider provider = new TodoItemProvider(mockContext.Object); var item = new TodoItemDAO { Id = 22, Name = "TestTodoItem" }; var addedItemId = await provider.Create(item); mockSet.Verify(set => set.Add(It.IsAny <TodoItemDAO>()), Times.Once); mockContext.Verify(context => context.SaveChangesAsync(new CancellationToken()), Times.Once); Assert.Equal(item.Id, addedItemId); }
public async Task Update_Updates_TodoItem() { ITodoItemProvider provider = new TodoItemProvider(mockContext.Object); var item = new TodoItemDAO { Id = 1, Name = "TestUpdateTodoItem" }; await provider.Update(item); var updatedTodoItem = await provider.Get(item.Id); Assert.Equal("TestUpdateTodoItem", updatedTodoItem.Name); }
public async Task Delete_Removes_TodoItem() { var dbContext = new Mock <TodoAppContext>(); ITodoItemProvider provider = new TodoItemProvider(dbContext.Object); var items = new List <TodoItemDAO>() { new TodoItemDAO() { Id = 1, Name = "TestItem1" }, new TodoItemDAO() { Id = 2, Name = "TestItem2" }, new TodoItemDAO() { Id = 3, Name = "TestItem3" } }; dbContext .Setup(m => m.TodoItems.Remove(It.IsAny <TodoItemDAO>())) .Callback <TodoItemDAO>((entity) => items.Remove(entity)); int idToDelete = 1; dbContext .Setup(s => s.TodoItems.Find(idToDelete)) .Returns(items.Single(s => s.Id == idToDelete)); await provider.Delete(idToDelete); Assert.Equal(2, items.Count()); dbContext.Verify(s => s.TodoItems.Find(idToDelete), Times.Once); dbContext.Verify(s => s.TodoItems.Remove(It.IsAny <TodoItemDAO>()), Times.Once); dbContext.Verify(s => s.SaveChangesAsync(new CancellationToken()), Times.Once); }